27,579
社区成员
发帖
与我相关
我的任务
分享
SELECT id, value, SN = IDENTITY(int,1,1)
INTO #temp
FROM [table]
ORDER BY value
UPDATE tbl SET tbl.rate = (tmp.SN - 1) / (SELECT COUNT(*) / 10 FROM #temp) + 1
FROM [table] tbl
INNER JOIN #temp tmp
ON tbl.id = tmp.id
WITH CTE AS(SELECT *, tile = NTILE(10) OVER(ORDER BY value) FROM [table])
UPDATE CTE SET rate = tile