最小值MySQL查询
我有一个类似于以下的数据表:最小值MySQL查询,mysql,sql,min,Mysql,Sql,Min,我有一个类似于以下的数据表: 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 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 |
您的查询如下所示
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
对不起,我的回答不够-我删除了它-。这是完整的答案。