波斯码BOSSMA Information Technology

SQL查询每个分类的头几条记录

发布时间:2008年7月25日 / 分类:DataBase / 7,831 次浏览 / 评论

用程序也可以实现,但不如sql简便高效。
以学生信息为例,查询不同年级的头几名学生。

先创建这个表,你可以按自己的意思输入几条数据。

CREATE TABLE [dbo].[student](
	[stu_no] [char](20) COLLATE Chinese_PRC_CI_AS NULL,
	[stu_name] [char](26) COLLATE Chinese_PRC_CI_AS NULL,
	[stu_sex] [char](4) COLLATE Chinese_PRC_CI_AS NULL,
	[stu_course] [char](20) COLLATE Chinese_PRC_CI_AS NULL,
	[stu_grade] [char](8) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]

SQL来了,看看:

SELECT     stu_no, stu_name, stu_sex, stu_course, stu_grade
FROM         student AS n
WHERE     (stu_no IN
                          (SELECT     TOP (1) stu_no
                            FROM          student
                            WHERE      (stu_grade = n.stu_grade)
                            ORDER BY stu_no))
ORDER BY stu_no
本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自波斯码,原文地址《SQL查询每个分类的头几条记录

关键字:

建议订阅本站,及时阅读最新文章!
【上一篇】 【下一篇】