在 SQLIte 数据库中有一张表,表中的内容如下所示:
group1 | index |
---|---|
1 | 1 |
1 | 1 |
1 | 2 |
1 | 2 |
1 | 4 |
1 | 4 |
2 | 1 |
2 | 1 |
2 | 3 |
2 | 3 |
2 | 4 |
2 | 4 |
现在希望能够以group
进行分组,并在该组内以每两行数据为一组进行升序编号,编号的结果如下所示:
group | index |
---|---|
1 | 1 |
1 | 1 |
1 | 2 |
1 | 2 |
1 | 3 |
1 | 3 |
2 | 1 |
2 | 1 |
2 | 2 |
2 | 2 |
2 | 3 |
2 | 3 |
请问能使用 SQL 语句实现吗?如果能的话,麻烦大佬指点一二。非常感谢🙏🙏
1
codehz 146 天前 via iPhone
这也不是分组吧,就两个排序而已,order by index, group
|
2
codehz 146 天前
哦写反了,反过来就对了
|
3
zhf883680 146 天前
说实话 你问题这么清楚 直接丢给 ai 完事..
最近直接把要求的 json 和需要的 json 直接丢给 ai 然后把代码拿到完事 |
4
redh 146 天前 1
```sql
WITH NumberedRows AS (SELECT [Group], [Index], Row_number() OVER ( PARTITION BY [Group] ORDER BY [Index]) AS RowNumber FROM Users) SELECT [Group], [Index], ( ( RowNumber - 1 ) / 2 ) + 1 AS NewIndex FROM NumberedRows ORDER BY [Group], RowNumber; ``` |