我正在尝试以下但它失败了......我想要一切,但只有在不同的名称:
所以,如果我有
NAME A B C D
-------------------
john 5 6 6 7
jack 5 3 2 4
paul 5 7 9 2
john 4 2 3 4
我只想要前三行
select distinct name, * from items order by NAME, D
这可能吗?
如果您不关心在重复名称的情况下选择哪些值:
select name,
min(a),
min(b),
min(c),
min(d)
from items
group by name
order by name;
请注意,在此解决方案中,a、b、c、d 的值不一定来自同一行!
样本输入:
Name A B C D
john 5 6 6 7
jack 5 3 2 4
paul 5 7 9 2
john 4 2 3 4
john 5 6 6 7
询问
SELECT Name,Max(A) AS A,MAX(B) AS B,MAX(C) AS C,MAX(D) AS D
FROM <your table>
GROUP BY Name
预期产出
Name A B C D
jack 5 3 2 4
john 5 6 6 7
paul 5 7 9 2
试试这个查询
select distinct name,A,B,C,D from items group by name order by name
试试这个:
如果您有重复的名称,这将选择任何一条记录
select slno,name,A,B,C,D
from
( SELECT @i:=@i+1 AS slno,t.*
FROM items t ,(SELECT @i:=0) r )a
group by name
having slno=min(slno)