在 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 语句实现吗?如果能的话,麻烦大佬指点一二。非常感谢🙏🙏
|  |      1codehz      2024-07-25 17:54:40 +08:00 via iPhone 这也不是分组吧,就两个排序而已,order by index, group | 
|  |      2codehz      2024-07-25 17:56:27 +08:00 哦写反了,反过来就对了 | 
|  |      3zhf883680      2024-07-25 17:57:21 +08:00 说实话  你问题这么清楚 直接丢给 ai 完事..   最近直接把要求的 json 和需要的 json 直接丢给 ai 然后把代码拿到完事 | 
|  |      4redh      2024-07-25 18:45:56 +08:00  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; ``` |