Lyn*_*hie 1 sql t-sql sql-server
如何在不同用户之间划分每4行数据.
即
Number
1
2
3
4
5
6
7
8
Run Code Online (Sandbox Code Playgroud)
然后运行一个查询,以便我得到以下格式:
Number | User
1 | joe
2 | jim
3 | gill
4 | jack
5 | joe
6 | jim
7 | gill
8 | jack
Run Code Online (Sandbox Code Playgroud)
等等
UPDATE
我的代码最终成为(T-SQL/SQL 2008)
SELECT CASE
WHEN ROW_NUMBER() OVER(ORDER BY number) % 4 = 1 THEN 'joe'
WHEN ROW_NUMBER() OVER(ORDER BY number) % 4 = 2 THEN 'jim'
WHEN ROW_NUMBER() OVER(ORDER BY number) % 4 = 3 THEN 'gill'
WHEN ROW_NUMBER() OVER(ORDER BY number) % 4 = 0 THEN 'jack'
END
Run Code Online (Sandbox Code Playgroud)
只需在case声明中使用模数运算符:
select number,
(case when mod(number, 4) = 1 then 'joe'
when mod(number, 4) = 2 then 'jim'
when mod(number, 4) = 3 then 'gill'
when mod(number, 4) = 0 then 'jack'
end)
from t;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
143 次 |
| 最近记录: |