我有一个简单的表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
答案 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