最小值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

对不起,我的回答不够-我删除了它-。这是完整的答案。