获取表中每个项目的最大值

时间:2011-05-12 00:27:44

标签: mysql sql group-by

好吧,这个头衔太可怕了。

具体来说,我有一个扫描的条形码表(很多次,表保留所有扫描的日志),并且在创建扫描时有一个created_on列。

我想获得每个条形码的最新扫描。还有其他数据,但我已将其删除并简化了以下内容。

如果我的表是这样的:

BARCODE  CREATED_ON
   1       5/7/11
   2       5/6/11
   1       5/5/11
   1       5/5/11
   2       5/8/11
   3       5/10/11
   3       5/2/11

我想让查询给我这个:

BARCODE  CREATED_ON
   1       5/7/11
   2       5/8/11
   3       5/10/11

所以,基本上对于每个param1(本例中的条形码),我想要带有max param2(created_on)的条目。

最好的方法吗?

2 个答案:

答案 0 :(得分:1)

SELECT BARCODE,MAX(CREATED_ON)
FROM barcodes
GROUP BY BARCODE

您可以选择将其添加到最后以按条形码排序:

ORDER BY BARCODE ASC

答案 1 :(得分:0)

 select barcode, max(created_on) from barcodes group by barcode