【发布时间】:2015-08-19 10:50:35
【问题描述】:
每个组我需要 2 个id。
SELECT `id`, `category`.`cat_name`
FROM `info`
LEFT JOIN `category` ON `info`.`cat_id` = `category`.`cat_id`
WHERE `category`.`cat_name` IS NOT NULL
GROUP BY `category`.`cat_name`
ORDER BY `category`.`cat_name` ASC
如何做到这一点?
样本数据:
id cat_name
1 Cat-1
2 Cat-1
3 Cat-2
4 Cat-1
5 Cat-2
6 Cat-1
7 Cat-2
输出将是:
id cat_name
6 Cat-1
4 Cat-1
7 Cat-2
5 Cat-2
【问题讨论】:
-
请提供样本数据和预期结果。
-
SELECT GROUP_CONCAT(info.id), GROUP_CONCAT(category.id),... -
您想要哪“2 行”?有两排吗?具有最高 id 的两行,这似乎是您的输出显示的内容?
-
我需要每组最新的 2 行 @RickJames
-
您是否检查过this answer 的相关问题?
标签: mysql sql group-by greatest-n-per-group