仅从 sql 中的 2 列中选择不同的值
Selecting only distinct values from 2 columns in sql
我的数据库中有一个 Table。我只需要整个数据库中的 2 列。另外,我需要两列中的不同值。数据如下:
ID DATE
00432CDE 1/4/2016
64031QCL 1/4/2016
64031QCL 1/5/2016
64031QCL 1/6/2016
817176AA 1/4/2016
817176AA 1/5/2016
55818FAN 1/4/2016
55818FAN 1/5/2016
92912QAA 1/4/2016
92912QAA 1/5/2016
532621AA 1/4/2016
532621AA 1/5/2016
05344AAN 1/4/2016
05344AAN 1/5/2016
17305EFN 1/4/2016
如您所见,有多个日期值,因此 ID 重复。我想编写一个代码,我可以在其中获取最后日期和 ID。所以列应该是这样的:
ID DATE
00432CDE 1/4/2016
64031QCL 1/6/2016
817176AA 1/5/2016
55818FAN 1/5/2016
92912QAA 1/5/2016
532621AA 1/5/2016
05344AAN 1/5/2016
17305EFN 1/4/2016
谢谢!
在 DATE
列中使用聚合来选择要显示的列。你想要 MAX()
:
SELECT ID, MAX(DATE)
FROM yourTable
GROUP BY ID
注意:按所有 non-aggregated 列分组可获得与 DISTINCT
相同的结果,因此您不需要 DISTINCT
关键字。
我的数据库中有一个 Table。我只需要整个数据库中的 2 列。另外,我需要两列中的不同值。数据如下:
ID DATE
00432CDE 1/4/2016
64031QCL 1/4/2016
64031QCL 1/5/2016
64031QCL 1/6/2016
817176AA 1/4/2016
817176AA 1/5/2016
55818FAN 1/4/2016
55818FAN 1/5/2016
92912QAA 1/4/2016
92912QAA 1/5/2016
532621AA 1/4/2016
532621AA 1/5/2016
05344AAN 1/4/2016
05344AAN 1/5/2016
17305EFN 1/4/2016
如您所见,有多个日期值,因此 ID 重复。我想编写一个代码,我可以在其中获取最后日期和 ID。所以列应该是这样的:
ID DATE
00432CDE 1/4/2016
64031QCL 1/6/2016
817176AA 1/5/2016
55818FAN 1/5/2016
92912QAA 1/5/2016
532621AA 1/5/2016
05344AAN 1/5/2016
17305EFN 1/4/2016
谢谢!
在 DATE
列中使用聚合来选择要显示的列。你想要 MAX()
:
SELECT ID, MAX(DATE)
FROM yourTable
GROUP BY ID
注意:按所有 non-aggregated 列分组可获得与 DISTINCT
相同的结果,因此您不需要 DISTINCT
关键字。