请教一下mysql下有没有类似oracle的函数max over partition by的替代方案
现在有这样一个需求:
原表:
列a 列b
a 1
a 2
b 4
b 1
c 0
d 2
变成:
列a 列b 列c
a 1 2
a 2 2
b 4 4
b 1 4
c 0 0
d 2 2
进而得到:
列a 列b 列c
a 2 2
b 4 4
c 0 0
d 2 2
就是挑出按照列A分组最大
请问在mysql下有什么替代方案吗?
请教一下mysql下有没有类似oracle的函数max over partition by的替代方案
答案:1 悬赏:40 手机版
解决时间 2021-04-23 01:02
- 提问者网友:放下
- 2021-04-22 20:03
最佳答案
- 五星知识达人网友:渊鱼
- 2021-04-22 21:31
-- 有的,可以子查询 来完成 分组取前N条数据
select * from table_name a where
4>(select count(*) from table_name where gid=a.gid and col2>a.col2)
order by a.gid,a.col2 desc;
再问: 为什么有个4?
再答: 把 4 改成 1
再问: 谢谢您的回答,但是你说的不对,请看清我的题目,希望得到的是筛选出每个分组b列最大的记录
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯