How do I combine correctly this statement.
SELECT *, COUNT(*)
FROM user_log
GROUP BY Email
ORDER BY UpdateDate DESC
HAVING COUNT(*) > 1
Let
Steps for Using Group by,Having By and Order by...
Select Attitude ,count(*) from Person
group by person
HAving PersonAttitude='cool and friendly'
Order by PersonName.
ORDER BY is always last...
However, you need to pick the fields you ACTUALLY WANT then select only those and group by them. SELECT * and GROUP BY Email will give you RANDOM VALUES for all the fields but Email. Most RDBMS will not even allow you to do this because of the issues it creates, but MySQL is the exception.
SELECT Email, COUNT(*)
FROM user_log
GROUP BY Email
HAVING COUNT(*) > 1
ORDER BY UpdateDate DESC
Your code should be contain WHILE before group by and having :
SELECT Email, COUNT(*)
FROM user_log
WHILE Email IS NOT NULL
GROUP BY Email
HAVING COUNT(*) > 1
ORDER BY UpdateDate DESC