MySQL的。选择具有最大字段的行,然后按其他字段分组

时间:2019-09-09 17:06:24

标签: mysql sql

我有一个简单的表bc

b c
2 5
2 6

我正在尝试使每个c与最大的b保持一致,但是我得到c = 5。 我怎样才能正确地做到这一点?

My select:
SET sql_mode = ''; SELECT * FROM `bc`
group by `bc`.b
ORDER BY `bc`.`c` desc

2 个答案:

答案 0 :(得分:0)

您可以使用聚合:

select b, max(c)
from bc
group by b;

如果您有更多列,则可以在where子句中使用相关子查询;

select bc.*
from bc
where bc.c = (select max(bc2.c) from bc bc2 where bc2.b = bc.b);

答案 1 :(得分:0)

使用最大值

   select b ,max(c) from table group by b