我有一个类似于下面的数据表:
ID A B
10 5 blue
10 8 red
10 10 yellow
20 2 black
20 17 blue
30 7 red
30 12 green
30 50 black
基本上我想写一个mySQL查询来输出类似的东西:
ID A B
10 5 blue
20 2 black
30 7 red
它仅提供“ID”的唯一值以及每个唯一“ID”的“A”的最小值。 “B”只是行中的额外数据。
我的查询应该是什么样的?
答案 0 :(得分:5)
您可以使用子查询来标识每个min(a)
的{{1}}值,然后将其加入到您的表中:
id
结果是:
select *
from yourtable t1
inner join
(
select min(A) A, id
from yourtable
group by id
) t2
on t1.id = t2.id
and t1.A = t2.A
答案 1 :(得分:0)
您的查询看起来像这样
SELECT *
FROM table t1
INNER JOIN
(
SELECT min(A) mi, A, ID
FROM table
GROUP BY ID
) t2
ON t1.ID = t2.ID
AND t1.A = t2.A