gpt4 book ai didi

java - 在 sql Developer (oracle 11g) 中组织查询结果

转载 作者:行者123 更新时间:2023-12-02 03:36:45 27 4
gpt4 key购买 nike

目前我在数据库(SQL 开发人员)中有一个名为 schedule 的表。

假设availableID是1,3,7,8。该表由如下内容组成:

Stud        Title   Supervisor  Examiner    availableID    
abc Hello 1024 1001 1
def Hi 1024 1001 1
ghi Hey 1002 1004 1
xxx hhh 1020 1011 1
jkl hhh 1027 1010 1
try ttt 1001 1011 1
654 bbb 1007 1012 1
gyg 888 1027 1051 1
yyi 333 1004 1022 3
fff 111 1027 1041 3
ggg 222 1032 1007 3
hhh 444 1007 1001 3
ppp 444 1005 1072 7
ooo 555 1067 1009 7
uuu 666 1030 1010 7
yyy 777 1004 1001 7
qqq yhh 1015 1072 8
www 767 1017 1029 8
eee 566 1030 1020 8
rrr 888 1004 1031 8
abc 5555 1045 1051 8

如您所见,我已使用 ORDER BY availableID asc 对这些值进行排序。但是,我想将它们再次组织成这样:

    Stud        Title   Supervisor  Examiner    availableID    
abc Hello 1024 1001 1
def Hi 1024 1001 1
ghi Hey 1002 1004 1
xxx hhh 1020 1011 1
yyi 333 1004 1022 3
fff 111 1027 1041 3
ggg 222 1032 1007 3
hhh 444 1007 1001 3
ppp 444 1005 1072 7
ooo 555 1067 1009 7
uuu 666 1030 1010 7
yyy 777 1004 1001 7
qqq yhh 1015 1072 8
www 767 1017 1029 8
eee 566 1030 1020 8
rrr 888 1004 1031 8
jkl hhh 1027 1010 1
try ttt 1001 1011 1
654 bbb 1007 1012 1
gyg 888 1027 1051 1
........
abc 5555 1045 1051 8

对于每个availableID,它将调用四次,然后继续处理下一个availableID。接下来,它将迭代回最低的 ID,但使用不同的其他值。 螺柱必须是不同的。

是否可以通过sql查询来实现?

最佳答案

您可以使用row_number()和一些算术来完成此操作。像这样的东西:

Select t.*
From (select t.*,
Row_number() over (partition by availableid order by stud) as seqnum
From t
) t
Order by trunc((seqnum - 1) / 4), availableid

关于java - 在 sql Developer (oracle 11g) 中组织查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37369631/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com