我正在尝试使用sql找到使用以下格式实现结果的解决方案。
我有两列:
col1 col2
1 e
1 e
1 e
2 e2
2 e2
2 e2
3 e3
3 e3
4 e4
4 e4
4 e4
4 e4
4 e4
4 e4
6 e6
6 e6
6 e6
其中col1具有序列号,col2具有col1具有从1到10开始的数字的事件...等等,对于每批事件,即第一批具有序列1,接下来分配2等等
我正在尝试使用sql
以下面的格式重新编号序列col1col1 col2
1 e
2 e
3 e
1 e2
2 e2
3 e2
1 e3
2 e3
1 e4
2 e4
3 e4
4 e4
5 e4
6 e4
1 e6
2 e6
3 e6
答案 0 :(得分:2)
也许你想要这个:
SELECT
ROW_NUMBER() OVER (PARTITION BY col2 ORDER BY col2) col1,
col2
FROM
table_name
ORDER BY
col2;
答案 1 :(得分:1)
试试这个:
SELECT col1, col2 FROM YourTable ORDER BY col2, col1
ORDER BY子句有助于按顺序获得结果。
答案 2 :(得分:0)
检查程序中的Col2使用逻辑如:
如果col2 ='e'那么 开始 重置序列 序列 结束 否则如果col2 ='p'那么 开始 重置序列 序列 端