2016-07-08 3 views
-1

имеют следующий Mysql запрос:Как использовать функцию Mysql Max правильно

SELECT pr.`datum`,SUM(pt.`db`) AS darabszam FROM prendeles pr 
    JOIN ptetel pt ON pr.`razon`=pt.`razon` 
    GROUP BY pr.`datum` HAVING darabszam=(SELECT MAX(SUM(pt.`db`) FROM prendeles) 

Я хотел бы перечислить эти поля «pr.datum» (в результате только одна запись), где SUM (пт db.) является max в коломбе, но, к сожалению, мой код не работает.

+0

Какая ошибка у вас? – vaso123

+0

Ошибка SQLyog: «Код ошибки: 106 У вас есть ошибка в синтаксисе SQL, проверьте руководство, соответствующее версии сервера MariaDB, для правильного синтаксиса для использования рядом с« FROM prendeles ». LIMIT 0, 1000 'at line 3 " – Stonesmit

+0

Даже если бы была какая-то логика MAX (SUM()), она все равно не сработает. – Strawberry

ответ

1

Да, у меня есть предложение.

Вместо проверки, является ли SUM также MAX (что, кстати, также означает, что SUM является MIN), почему бы не проверить, имеет ли COUNT в пределах вашей желаемой группировки 1?

Затем, после того, как я сказал это, я вижу, что вы закодировали MAX (SUM()) - это даже не юридический синтаксис, поэтому можно только догадываться, на что вы действительно нацелились.

+0

Актуально в «SUM (pt.'db')» colunb У меня есть несколько результатов (я подытожил некоторые числовые значения), и я хочу узнать, какая из них самая большая значение среди этих nembers – Stonesmit

0

Я предлагаю вам попробовать это:

select pr.datum, SUM(pt.db) as darabszam from prendeles pr JOIN ptetel pt ON pr.razon=pt.razon group by pr.datum HAVING MAX(darabszam) from prendreles 

Поскольку darabszam является псевдонимом для SUM (pt.db).

+0

Попытка, SQLyog говорит, это недопустимое выражение для "darabszam" – Stonesmit

Смежные вопросы