2

我有下表,其中包含以下列:

Person(id, name, surname)

我想提取同名的人,但每个名字只返回 5 行。

有任何想法吗?谢谢。

编辑:因为我正在使用 jQuery Mobile 和 Phonegap 开发 iPad 应用程序,所以我使用的是 HTML5 本地数据库。我需要保持原来的顺序。

4

4 回答 4

2
SELECT p1.* FROM Person p1
WHERE p1.id in (
    SELECT TOP 5 p2.id FROM Person p2
    WHERE p2.name = p1.name
)
ORDER BY p1.id
于 2012-05-23T14:50:50.423 回答
0
select distinct top 5  name from Person
于 2012-05-23T14:52:16.173 回答
0

您可以使用分区结束。例子:

USE Table1;

with TempXYZ as
(
select *, row_number() over (partition by fname order by fname) as ABC
)
SELECT * from TempXYZ where ABC <=5

TempXYZ 只是一个用于存储数据的临时表,ABC 是一个虚拟字段,它将通过 fname 进行分区。

于 2012-05-23T14:53:21.743 回答
0
select name, surname 
from Person a 
where id in (
select top 5 b.id from Person b where b.name=a.name
)
于 2012-05-23T14:56:53.440 回答