我想弄清楚如何在SQL Server中實現10%45%45%分割。我想出了使用方法NTile
分配一個組,然後拆分組根據簡單的數學,但是當小於20點的記錄標識如何在SQL Server中實現10%45%45%分割
SELECT
Email,
CASE
WHEN Group in (1,2) THEN 'Group1'
WHEN Group BETWEEN 3 AND 11 THEN 'Group2'
WHEN Group BETWEEN 12 AND 20 THEN 'Group3'
END AS [Group]
FROM
(SELECT
email, optDate,
NTILE(20) OVER(ORDER BY NEWID()) As Group) T
我也有不被惱人的問題的解決方案倒下能夠使用臨時表或創建變量,我的解決方案必須以選擇語句開始。我可以分階段創建結果步驟,並在階段2的查詢中使用階段1的結果,但我很難提出一個好的解決方案。
不錯的解決方案!我認爲你有一個錯字,意思是在0.05引用的兩個地方有0.10而不是0.05。 – BateTech
@BateTech。 。 。謝謝你的發現。 –