【发布时间】:2014-01-27 20:26:48
【问题描述】:
假设我有一个如下所示的表格:
id fk 值 ------------ 1 1 'lorem' 2 1 'ipsum' 3 1 '多尔' 4 2“坐” 5 2 '满足' 6 3 'consettur' 7 3 'sadipscing'每个 fk 可以出现多次,对于每个 fk 我想选择最后一行(或者更准确地说是分别具有最高 id 的行)——像这样:
id fk 值 ------------ 3 1 '多尔' 5 2 '满足' 7 3 'sadipscing'我想我可以像这样在这里使用关键字DISTINCT:
SELECT DISTINCT id, fk, value
FROM table
但我不确定DISTINCT 将返回哪一行,它必须是最后一行。
有没有类似 (pseudo)
SELECT id, fk, value
FROM table
WHERE MAX(id)
FOREACH DISTINCT(fk)
我希望我在这里有意义:) 谢谢你的时间
【问题讨论】:
标签: mysql sql select group-by greatest-n-per-group