社区
应用实例
帖子详情
取每个分组的5条记录
hxy
2004-10-20 06:19:04
select Name,CityId from Company A where Id in (select top 5 Id from Company where CityId=a.CityId)
Order By CityId
每个城市各取5条记录,不过感觉这样效率不高,大家有没更好的方法呢?
...全文
142
7
打赏
收藏
取每个分组的5条记录
select Name,CityId from Company A where Id in (select top 5 Id from Company where CityId=a.CityId) Order By CityId 每个城市各取5条记录,不过感觉这样效率不高,大家有没更好的方法呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zjcxc
2004-10-20
打赏
举报
回复
这种处理就是楼主自己的那种.
Andy__Huang
2004-10-20
打赏
举报
回复
和victorycyz(中海) 一樣﹐覺得樓主的方法還好﹗
heibai520
2004-10-20
打赏
举报
回复
我想不会的!
这样应该算不错了的!
yingjie821
2004-10-20
打赏
举报
回复
学习中..
软件钢琴师
2004-10-20
打赏
举报
回复
只是来学习不敢妄加评论
victorycyz
2004-10-20
打赏
举报
回复
感觉楼主的更好点吧。
pbsql
2004-10-20
打赏
举报
回复
你那效率已经可以了
或者这样:
select Name,CityId from Company A where (select count(*) from from Company where CityId=a.CityId and id<=a.id)<=5
Order By CityId
不过效率可能需要你验证一下
mysql
分组
取
每组前几
条
记录
(排名) 附group by与order by的研究
–按某一字段
分组
取
最大(小)值所在行的数据 代码如下: /* 数据如下: nameval memo a 2 a2(a的第二个值) a 1 a1–a的第一个值 a 3 a3:a的第三个值 b 1 b1–b的第一个值 b 3 b3:b的第三个值 b 2 b2b2b2b2 b 4 b4b4 b 5 b5b5b5b5b5 */ –创建表并插入数据: 代码如下: create table tb(name varchar(10),val int,memo varchar(20)) insert into tb values(‘a’, 2, ‘a2(a的第二个值)’) insert into tb
mysql使用GROUP BY
分组
实现
取
前N
条
记录
的方法
本文实例讲述了mysql使用GROUP BY
分组
实现
取
前N
条
记录
的方法。分享给大家供大家参考,具体如下: MySQL中GROUP BY
分组
取
前N
条
记录
实现 mysql
分组
,
取
记录
GROUP BY之后如何
取
每组的前两位下面我来讲述mysql中GROUP BY
分组
取
前N
条
记录
实现方法。 这是测试表(也不知道怎么想的,当时表名直接敲了个aa,汗~~~~): 结果: 方法一: 代码如下:SELECT a.id,a.SName,a.ClsNo,a.Score FROM aa a LEFT JOIN aa b ON a.ClsNo=b.ClsNo AND a.Score<b.Score group
MongoDB聚合
分组
取
第一
条
记录
的案例与实现方法
前言 今天开发同学向我们提了一个紧急的需求,从集合mt_resources_access_log中,根据字段refererDomain
分组
,
取
分组
中最近一笔插入的数据,然后将这些符合
条
件的数据导入到集合mt_resources_access_log_new中。 接到这个需求,还是有些心虚的,原因有二,一是,业务需要,时间紧;二是,实现这个功能MongoDB聚合感觉有些复杂,聚合要走好多步。 数据
记录
格式如下:
记录
1 { "_id" : ObjectId("5c1e23eaa66bf62c0c390afb"), "_class" : "C1", "resourceUrl" : "/st
SQL 每组前N
条
记录
打个比方你要查询每月排名前十的那些
记录
,或者每月销售前十的车辆。
Mysql
取
分组
后的每组第一
条
数据
Mysql
取
分组
后的每组第一
条
数据 gruop by
分组
后 进行 order by mysql会按照 先
分组
后排序的形式进行输出 并不能做到每组中的第一
条
数据
取
出。 我的思路是 : 先将要查询的数据表转换成已经排序的临时表 在进行
分组
操作 。 因为在mysql
分组
是将第一个出现的数据进行展示出。 MySQL会创建临时表的几种情况: 1、UNION查询; 2、用到TEMPTABLE算法或者是UNION查询中的视图; 3、ORDER BY和GROUP BY的子句不一样时; 4、表连接中,ORDER BY的列不是驱动表中的;(指定了联接
条
件时,满足查询
条
件的
记录
行数少的表为[驱动表],未指定联接
应用实例
27,580
社区成员
68,556
社区内容
发帖
与我相关
我的任务
应用实例
MS-SQL Server 应用实例
复制链接
扫一扫
分享
社区描述
MS-SQL Server 应用实例
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章