嗨,我想选择一个表格按日期desc比gruoup由smth。起初phpmyadmin给出了一个错误(sql_mode = only_full_group_by),我通过从my.cnf中删除该标志来修复它,并且我不知道这个修复是否适合长期使用,我在某处使用此修复可以获得不需要的结果。我试过**select * from (select * from log order by date desc) tmp group by imei**
,但结果是从最早的日期,而不是从最新的日期,它给了我从第一个ID不是从最后一个imei。Mysql select date by desc then group by column
回答
对于分组结果,如果您订购了输入,则无关紧要。如果我正确解释你的问题,你想获得每个imei的最新日志条目。你将不得不做这样的事情:
SELECT l1.*
FROM logs as l1
LEFT OUTER JOIN logs as l2
ON l1.imei = l2.imei
AND l1.date < l2.date
WHERE l2.date IS NULL
,你基本上是要求每个日志条目(L1),对于没有日志条目(L2)具有相同IMEI存在,但更大的日期。
如果你只是想知道当每个IMEI最后的日志条目,这将是不够的:
SELECT imei, MAX(date)
FROM log
GROUP BY imei
我已经建立了d你的第一个命令,但它需要很长的时间,我不会收到一个结果,它只是停留在加载。我想要做的只是你做了第二步命令,但我想选择所有列不只是imei和日期 –
我已经删除了哪里l2.date为空,但它给了我表中的所有数据不唯一数据由imei –
如果结果需要很长时间,则应在imei和日期列上添加索引。 当您删除“WHERE l2.date IS NULL”部分时,您会要求输入所有条目,这就是您会得到的。 – seven77
SELECT * FROM日志WHERE ID IN(SELECT MAX(ID)从IMEI日志组)
- 1. mySQL order by certain values&then DESC?
- 2. MySQL - 使用GROUP BY和DESC
- 3. MySQL select table column 31-12-2014 type varchar as date date by date php
- 4. group by by by by mysql
- 5. MySQL,要反向SELECT GROUP BY
- 6. SQL Group by MAX(Date)
- 7. MYSQL GROUP BY/ORDER BY confusion
- 8. SELECT COUNT,GROUP BY,ORDER BY
- 9. Mysql group by by by by?
- 10. MySQL ORDER BY,GROUP BY内JOIN
- 11. Mysql Group by time by mutilple condition
- 12. oracle group by date with specific time
- 13. MySQL的SELECT JOIN和GROUP BY
- 14. Linq group by select
- 15. MySQL GROUP by Regex?
- 16. MYSQL - GROUP BY 2 COLUMN ORDER BY创建日期
- 17. sql select和group by CURRENT_TIMESTAMP
- 18. Rails/activerecords - group by by
- 19. mysql group by confusion
- 20. group by mysql option
- 21. MYSQL排序GROUP BY
- 22. mysql order by tag occurrence group by
- 23. SQL Group by Max Date Including Null
- 24. MySQL group by week
- 25. MySQL - ORDER BY,CASE和DESC
- 26. ORDER BY GROUP BY
- 27. GROUP BY和ORDER BY
- 28. GROUP BY后ORDER BY
- 29. LINQ Select and Group By
- 30. MYSQL GROUP BY PERFORMANCE
'select * from(select * from log order by date desc)tmp group by imei'和'select * from(select * from log order by date)tmp group by imei' –
我现在试过了'select * from(select * from date order by date desc limit 100)tmp group by imei'并且它正在工作,但我不想限制结果 –