当前位置: 代码迷 >> Sql Server >> 一个表,取得不同分类的各N条数据,该如何处理
  详细解决方案

一个表,取得不同分类的各N条数据,该如何处理

热度:30   发布时间:2016-04-27 20:33:43.0
一个表,取得不同分类的各N条数据
如:现在有一张表:

title
category
两个字段.

现在有数据:
title         category
1111           6
2222           7
3333           6
4444           6

现在想用一个sql取得,当N等于2时.
得到数据:1111     2222       333


------解决方案--------------------
--如果category相同的時候,title不會重復

--方法一:
Select * From 表 A
Where (Select Count(*) From 表 Where category = A.category And title < A.title) < 2
Order By category, title

--方法二:
Select * From 表 A
Where Exists (Select Count(*) From 表 Where category = A.category And title < A.title Having Count(*) < 2)
Order By category, title

--方法三:
Select * From 表 A
Where title In (Select TOP 2 title From 表 Where category = A.category Order By title)
Order By category, title
  相关解决方案