我有一个类似于下面的数据表:
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”只是行中的额外数据。
我的查询应该是什么样的?
最佳答案
您可以使用子查询来识别每个 id
的 min(a)
值,然后将其连接回您的表:
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
结果是:
| ID | A | B |
------------------
| 10 | 5 | blue |
| 20 | 2 | black |
| 30 | 7 | red |
关于mysql - 最小值 MySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13893114/