mysql分组排序后取出几条记录,
每一组你要显示几条数据?
用groupbycc
看看是你想要的吗?
selectreason,floor(总数*0.8)from表明groupbyccorderbycc;
你看我的截图
mysql分组 排序 取前2条
可以写为selectid,channel_id,timefromtablewheregroupbychannel_idorderbytimedesclimit2
这个真查不出来
恩,抱歉,我没验证过这段sql。我重新确定一下你的需求,上面的例子中你是要
11112010-05-13
21112010-05-12
这两条记录还是
11112010-05-13
32222010-05-13
这两条记录
前一种的话可以写成selectid,channel_id,timefromtableorderbychannel_id,timedesclimit2
如果是后面一种可以写成selectid,channel_id,timefromtablegroupbychannel_idorderbytimedesclimit2这里我原本多写了一个where
如果你还需要对channel进行排序的话可以写成selectid,channel_id,timefromtablegroupbychannel_idorderbychannel_id,timedesclimit2
希望我的回答能对你有所帮助
本回答由提问者推荐
微博分组不能排序?微博分组不能排序
微博分组默认的是按时间排序
分组怎么排?分组怎么排序
1、更新微博分组信息只需在微博首页左侧分组栏,点击需修改信息的分组名称后的“扳手”标识,选择“管理该分组”,进入分组关注人页面后即可在右上角进行分组名修改,分组删除操作;同时还可对该分组成员进行移除、更换分组或者取消关注。2、调整微博分组排列顺序,点击需移动分组名称后的“扳手”标识,选择“分组排序”拖动需要移动的分组到指定位置即可。3、创建新分组,在微博首页左侧分组一栏可以找到“创建新分... 点此-> 查看详细内容。
Mysql 分组并排序
1、按rowno分组后,每个rowno只有一条数据。所以排序不可能同时按rowno, count来排序。
2、感觉你应该只按count排序
------------------
SELECT rowno
,COUNT(*) AS Num
FROM Table1
GROUP BY rowno
ORDER BY COUNT(*)用分组函数来做,假如你的表名是table_name
select a.*
from table_name a,(select product,max(date) max_date from table_name group by product) b
where a.product=b.product and a.date=b.max_date;select rowno,count(*) from table1 group by rowno order by rowno,count(*);
数据库排序并且取每个分组的前三条
select t2.* from
(select t1.*,row_number() over
(partition by id order by fee desc) rn from tabname t1) t2
where rn<=3select * from
selectrow_number() over(partition by '分组' order by '日期') as rownum-- 排序并分组
, *-- 所需显示的字段
from 表
) as t
where t.rownum = 1
对每组的数据按日期排序并加上行号
取出时只取行号为1,也就是第一条数据。
标签:rowno,微博,分组,mysql,序号,排序,id,channel From: https://blog.51cto.com/yetaotao/5800191