我有一个这样的表(但有更多列):
Code Quantity
----- --------
00001 1
00002 1
00002 1
00002 2
00003 2
00003 1
我希望得到的结果与SELECT DISTINCT Code FROM table
(00001,00002,00003)相同,但与所有其他表格列相同。
已更新:
如果我执行此操作:SELECT DISTINCT Code, Quantity from table
我明白了:
Code Quantity
----- --------
00001 1
00002 1
00002 2
00003 1
00003 2
我想得到:
Code Quantity
----- --------
00001 1
00002 1
00003 1
提前致谢!
答案 0 :(得分:28)
假设您正在使用MySQL(因为标记了问题),以下内容将返回其他列的任意值:
select *
from t
group by code;
但是,选择的特定值来自不确定的行。
答案 1 :(得分:1)
在 Gordon 的回答基础上,您可以订购一个子查询,以便 group by 始终返回每个代码的最低数量。
select *
from (select * from t order by code desc, quantity asc)
group by code;