如何在sql中订购group by子句

时间:2013-05-24 17:18:31

标签: mysql group-by greatest-n-per-group

我想使用group by从我的FileList中选择所有不同的文件。但是我想只返回ID最高的元素。我只收到第一个条目。 如何解决这个问题?

select * from files group by name;

这是我的表内容...

 ID      NAME          DATE               USER 
1443 - /test.txt - 24 May 2013 12:56:15 - XX
1444 - /test.txt - 24 May 2013 12:54:41 - XX
1445 - /test.txt - 24 May 2013 12:53:38 - AB
1446 - /test.txt - 24 May 2013 12:44:32 - XX
1983 - /asdf.txt - 24 May 2013 13:46:32 - KS

2 个答案:

答案 0 :(得分:0)

select * from files 
where id in
(
  select max(id)
  from files
  group by name
)

select f.* 
from files f
inner join 
(
  select max(id) as id
  from files
  group by name
) x on x.id = f.id

SQLFiddle demo

答案 1 :(得分:-1)

使用: -

select *,max(id) from files group by name;