mysql查询根据类别排序

图片说明
希望能根据ID来实现queueWaitCount的排序,如id为2的只有一条,希望queueWaitCount为1,此类排序,谢谢

3个回答

凑活着看吧,不是很好,但能实现要求
set @a=0;
set @pd=0;
select pooid,count,queueWaitCount from (
select case when pooid=@pd then @a:=@a+1 else @a:=1 end as queueWaitCount , @pd:=pooid as pooid from test order by pooid) a ,
(select pooid pd,count(1) count from test group by pooid)b where pd=pooid
图片说明

select table.poolID, table.count, table.queueWaitCount - tmp.minID + 1 as queueWaitCount
from table
inner join (select poolID, min(queueWaitCount) as minID from table group by poolID) tmp on table.poolID = tmp.poolID

weixin_44767912
huangMVC 只有poodId是存在的字段,count和queueWaitCount都是计算之后给的别名
大约一年之前 回复
 能不能详细说说你的需求,没太理解你要问什么 , 你的表结构是什么样的  你想要的结果里每列代表的啥  能不能说的更细一些
weixin_44767912
huangMVC 谢谢,已经解决了。不过表结构的话是几张表连接查询的,我截取的最后三列,那个poolid是表结构里面的,count是按poolid分类的总数,最后一列是是按poolid分类然后每个类别来的一个排序,而不是总数
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐