23

我有一个这样的表(但有更多列):

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 

提前致谢!

4

2 回答 2

42

假设您使用的是 MySQL(因为已标记问题),以下内容将为其他列返回任意值:

select *
from t
group by code;

但是,选择的特定值来自不确定的行。

于 2013-06-24T13:56:33.983 回答
4

在 Gordon 的答案的基础上,您可以订购一个子查询,以便 group by 将始终返回每个代码的最低数量。

select *
from (select * from t order by code desc, quantity asc)
group by code;
于 2021-03-09T14:13:21.477 回答