Автор Тема: Не работает запрос:(((  (Прочитано 3183 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн C++

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 221
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Не работает запрос:(((
« : 21 Апреля 2003, 21:51:56 »
Привет!
Есть таблица:
_____________________
| id | c1 | c2 | c3 |
|____|____|____|____|
Все столбцы целые, кроме c1...
Делаю запрос:
SELECT DISTINCT c1,SUM(c2)/(SUM(c3)+1) FROM table WHERE id=20 ORDER BY SUM(c2)/(SUM(c3)+1) DESC LIMIT 5

Запрос не выполняется...
Не подскажите что не так?

Оффлайн fidget

  • Непоседа
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 607
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Не работает запрос:(((
« Ответ #1 : 21 Апреля 2003, 22:17:46 »
> Запрос не выполняется...
что значит не выполняется?
Ошибку выдает? Если да, то какую?
На Машине Тьюринга далеко не уедешь.

Оффлайн C++

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 221
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Не работает запрос:(((
« Ответ #2 : 21 Апреля 2003, 23:35:17 »
Да, выдает ошибку:
Invalid use of group functions

Оффлайн C++

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 221
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Не работает запрос:(((
« Ответ #3 : 22 Апреля 2003, 00:41:44 »
Xander
Это не имеет значения, записей ведь с одним id может быть сколько угодно....

Оффлайн C++

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 221
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Не работает запрос:(((
« Ответ #4 : 22 Апреля 2003, 08:46:08 »
Нет, ничего не меяется, пробовал. Всё равно выдает эту ошибку....

Оффлайн semya

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
Не работает запрос:(((
« Ответ #5 : 22 Апреля 2003, 09:40:43 »
1) твоя ошибка более точно звучит как: Mixing of GROUP columns (min(), max(), count()...) with no groups columns is illegal if there is no GROUP BY clause. (перевод надеюсь не требуется)
2) исходя из этого все исправляется очень просто:

SELECT DISTINCT c1,SUM(c2)/(SUM(c3)+1) as \'Das_ist_eine_summa\' FROM try WHERE id=20 GROUP BY c1 ORDER BY Das_ist_eine_summa DESC LIMIT 5

обрати внимание на AS - без него будешь получать ту же ошибку...

надеюсь это то, что тебе было нужно...

Оффлайн C++

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 221
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Не работает запрос:(((
« Ответ #6 : 22 Апреля 2003, 12:50:16 »
semya
Да, именно то, что нужно.
Большое спасибо!

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28