MySQL取每组的前N条记录】的更多相关文章

一.对分组的记录取前N条记录:例子:取前 2条最大(小)的记录 .用子查询: SELECT * FROM right2 a WHERE > (SELECT COUNT(*) FROM right2 b WHERE b.id=a.id AND b.account>a.account) ORDER BY a.id,a.account DESC .用exists半连接: SELECT * FROM right2 a WHERE EXISTS (SELECT COUNT(*) FROM right2…
转自:http://blog.163.com/jeson_lwj/blog/static/135761083201052411115783/ --查询每门课程的前2名成绩 CREATE TABLE StudentGrade( stuId CHAR(4), --学号 subId INT, --课程号 grade INT, --成绩 PRIMARY KEY (stuId,subId) ) GO --表中数据如下 INSERT INTO StudentGrade(stuId,subId,grade)…
使用子查询进行查询 SELECT * FROM home_content a WHERE ( SELECT count(id) FROM home_content WHERE class_link = a.class_link AND id > a.id ) <= 2…
sql 分组取每组的前n条或每组的n%(百分之n)的数据 sql keyword: SELECT * ,ROW_NUMBER() OVER(partition by b.UserID order by b.UserID ) rn    from b 运行结果:按UserID分组查询出每组条数,rn从1递增 UserID | rn 1                1 1               2 1              3 2               1 2           …
sql 分组后显示每组的前几条记录 如   表中记录是             code       serialno             A1               1             A1               2             A1               3             A1               5                 B1               2             B1               3…
mysql查询各种类型的前N条记录,将3改为N(需查询条数)即可  (select * from event_info where event_type = 1  limit 3)union all(select * from event_info where event_type = 2  limit 3)union all(select * from event_info where event_type = 3  limit 3) 原文出处:http://my.oschina.net/u/…
  项目中有个需求是获取出展会分类下的前n条展商. 刚开始的思路是用group by 获取出展会的分类,后面再根据分类获取该分类下的n个展商,但也需要第一次获取出展会的时候也获取所有的每个展会分类下的n条展商. CSDN上的有一个类似的问题:mysql中有个表:article(字段:id,type,date),type有1-10,10种类型.现在要用SQL找出每种类型中时间最新的前N个数据组成的集合. select a1.* from article a1 inner join (select…
首先的建表语句: ) DROP TABLE [test] CREATE TABLE [test] ( [id] [, ) NOT NULL , [name] [nvarchar] () NULL , [votenum] [) NULL ) ALTER TABLE [test] WITH NOCHECK ADD CONSTRAINT [PK_test] PRIMARY KEY NONCLUSTERED ( [id] ) SET IDENTITY_INSERT [test] ON INSERT [t…
mysql分组取每组前几条记录(排名) 附group by与order by的研究,需要的朋友可以参考下 --按某一字段分组取最大(小)值所在行的数据 复制代码代码如下: /* 数据如下: name val 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…
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 by a.id,a.…