想象一个包含类型、日期、消息列的表。有些行看起来像这样(类型|日期|消息):
1 | 1310572318 | Hello
1 | 1310572317 | Hi
2 | 1310572315 | Wassup
3 | 1310572312 | Yo
3 | 1310572311 | Hey
3 | 1310572309 | Eyo
1 | 1310572305 | Hello
1 | 1310572303 | Good Day
是否可以按类型对它们进行分组,并选择最新的(按日期排序),结果将是:
1 | 1310572318 | Hello
2 | 1310572315 | Wassup
3 | 1310572312 | Yo
1 | 1310572305 | Hello
我很确定我必须使用一些 MySQL 聚合函数,但我不太擅长它们,所以我在这里寻求一些帮助。
没有任何总计的 http://dev.mysql.com/doc/refman/5.6/en/group-by-functions.html可以使用不同的列,以便您可以获得最新日期的消息。
这可能会有所帮助:
SELECT
`type`,
MAX(`date`) AS `max_date`,
(SELECT `t2`.`message` FROM `table` AS `t2` WHERE `t2`.`type` = `t1`.`type` ORDER BY `t2`.`date` DESC LIMIT 1)
FROM `table` AS `t1`
GROUP BY `type`
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)