Подтвердить что ты не робот

Как объединить GROUP BY, ORDER BY и HAVING

Как правильно скомпоновать это утверждение.

SELECT *, COUNT(*)
FROM user_log
GROUP BY Email
ORDER BY UpdateDate DESC
HAVING COUNT(*) > 1

Сообщите мне

4b9b3361

Ответ 1

ORDER BY всегда последний...

Однако вам нужно выбрать поля, в которых вы НАСТОЯТЕЛЬНО ХОТИТЕ, затем выберите только те и группируйте их. SELECT * и GROUP BY Email предоставят вам RANDOM VALUES для всех полей, но Email. Большинство RDBMS даже не позволят вам сделать это из-за проблем, которые он создает, но MySQL является исключением.

SELECT Email, COUNT(*)
FROM user_log
GROUP BY Email
HAVING COUNT(*) > 1
ORDER BY UpdateDate DESC

Ответ 2

Ваш код должен содержать WHILE до group by и having:

SELECT Email, COUNT(*)

FROM user_log

WHILE Email IS NOT NULL

GROUP BY Email

HAVING COUNT(*) > 1

ORDER BY UpdateDate DESC

Ответ 3

Шаги для использования группы путем, имея By и Order by...

Select Attitude ,count(*) from Person
group by person
HAving PersonAttitude='cool and friendly'
Order by PersonName.