why*_*heq 4 sql sql-server standards ansi-sql
我有一个tb_FirstName有一个字段的表FirstName.该表有1亿个非空记录,有很多重复,例如约翰出现200万次.独特的数量FirstName超过200万.
如何使用标准 sql 尽快选择1000个不同的名称?
我目前正在使用以下内容,但这是
也许效率不高.
SELECT x.FirstName
FROM (
SELECT FirstName,
rnk = RANK() OVER (ORDER BY Firstname)
FROM WHData.dbo.tb_DimUserAccount A
GROUP BY FirstName
) x
WHERE rnk <=1000
Run Code Online (Sandbox Code Playgroud)好像你可以使用TOP 1000带DISTINCT:
SELECT DISINCT TOP 1000 FirstName
FROM WHData.dbo.tb_DimUserAccount
ORDER BY FirstName
Run Code Online (Sandbox Code Playgroud)