小编Hak*_*ied的帖子

仅选择多次出现的一个条目

假设我有一个看起来像这样的表:

id fk value
------------
1  1  'lorem'
2  1  'ipsum'
3  1  'dolor'
4  2  'sit'
5  2  'amet'
6  3  'consetetur'
7  3  'sadipscing' 

每个fk可以出现多次,对于每个fk,我想选择最后一行(或者更准确地说是具有最高id的行) - 像这样:

id fk value
------------
3  1  'dolor'
5  2  'amet'
7  3  'sadipscing' 

我以为我可以DISTINCT像这样使用关键字:

SELECT DISTINCT id, fk, value 
FROM table
Run Code Online (Sandbox Code Playgroud)

但我不确定哪一行DISTINCT会返回,它必须是最后一行.有什么像()

SELECT id, fk, value 
FROM table 
WHERE MAX(id) 
FOREACH DISTINCT(fk)
Run Code Online (Sandbox Code Playgroud)

我希望我在这里有任何意义:)谢谢你的时间

mysql sql select group-by greatest-n-per-group

4
推荐指数
1
解决办法
8839
查看次数

标签 统计

greatest-n-per-group ×1

group-by ×1

mysql ×1

select ×1

sql ×1