在
MySql中,您可以使用MAX()函数来获取最高的值,当使用GROUP BY时,我该怎么做同样的事情来获得最长的文本字符串?
样品表:
id_|_post_id|_title__________|_body_____________________________________________
1 | ZXBF1J | Favorite Color | My favorite color is blue.
2 | ZXBF1J | Favorite Color | My favorite color is blue, no wait...
3 | ZXBF1J | Favorite Color | My favorite color is blue, no wait, yelloooow!
4 | AR3D47 | Quest | To seek..
5 | AR3D47 | Quest | To seek the Holy
6 | AR3D47 | Quest | To seek the Holy Grail.
棘手的一部分是我要ORDER BY id ASC来查看顶部最旧的条目,我想通过post_id分组,这不是我可以用于ORDER的东西,并且获得最长的身体.
示例查询:
SELECT post_id, title, MAX(body) // obviously MAX() doesn't work here
FROM posts
GROUP BY post_id
ORDER BY id ASC
所需输出:
post_id|_title__________|_body_____________________________________________
ZXBF1J | Favorite Color | My favorite color is blue, no wait, yelloooow!
AR3D47 | Quest | To seek the Holy Grail.
再次,关键是选择最长的身体,同时保持基于id的顺序.