嵌套排序-SQL
我有一张这样的桌子:嵌套排序-SQL,sql,sorting,nested,sql-order-by,Sql,Sorting,Nested,Sql Order By,我有一张这样的桌子: --------------------------------------------------------- | ArticleID |ReleaseTime | PurchaseTime | -------------------------------------------------------- | 7 | 7/24/20 3:00 PM | NULL | --------
---------------------------------------------------------
| ArticleID |ReleaseTime | PurchaseTime |
--------------------------------------------------------
| 7 | 7/24/20 3:00 PM | NULL |
--------------------------------------------------------
| 5 | 7/16/20 1:00 PM | NULL |
---------------------------------------------------------
| 4 | 7/24/20 2:00 PM | NULL |
--------------------------------------------------------
| 1 | NULL | 7/25/20 5:45 PM |
--------------------------------------------------------
| 3 | NULL | 7/26/20 9:00 AM |
--------------------------------------------------------
| 3 | 7/25/20 8:30 AM | NULL |
---------------------------------------------------------
| 1 | 7/24/20 5:00 PM | NULL |
--------------------------------------------------------
| 1 | NULL | 7/25/20 6:00 PM |
---------------------------------------------------------
| 6 | 7/24/20 3:30 PM | NULL |
---------------------------------------------------------
| ArticleID |ReleaseTime | PurchaseTime |
--------------------------------------------------------
| 5 | 7/16/20 1:00 PM | NULL |
--------------------------------------------------------
| 4 | 7/24/20 2:00 PM | NULL |
---------------------------------------------------------
| 7 | 7/24/20 3:00 PM | NULL |
--------------------------------------------------------
| 6 | 7/24/20 3:30 PM | NULL |
--------------------------------------------------------
| 1 | 7/24/20 5:00 PM | NULL |
--------------------------------------------------------
| 1 | NULL | 7/25/20 5:45 PM |
--------------------------------------------------------
| 1 | NULL | 7/25/20 6:00 PM |
--------------------------------------------------------
| 3 | 7/25/20 8:30 AM | NULL |
---------------------------------------------------------
| 3 | NULL | 7/26/20 9:00 AM |
需要按ReleaseTime ASC排序,然后按该ID的所有PurchaseTime ASC排序。结果应如下所示:
---------------------------------------------------------
| ArticleID |ReleaseTime | PurchaseTime |
--------------------------------------------------------
| 7 | 7/24/20 3:00 PM | NULL |
--------------------------------------------------------
| 5 | 7/16/20 1:00 PM | NULL |
---------------------------------------------------------
| 4 | 7/24/20 2:00 PM | NULL |
--------------------------------------------------------
| 1 | NULL | 7/25/20 5:45 PM |
--------------------------------------------------------
| 3 | NULL | 7/26/20 9:00 AM |
--------------------------------------------------------
| 3 | 7/25/20 8:30 AM | NULL |
---------------------------------------------------------
| 1 | 7/24/20 5:00 PM | NULL |
--------------------------------------------------------
| 1 | NULL | 7/25/20 6:00 PM |
---------------------------------------------------------
| 6 | 7/24/20 3:30 PM | NULL |
---------------------------------------------------------
| ArticleID |ReleaseTime | PurchaseTime |
--------------------------------------------------------
| 5 | 7/16/20 1:00 PM | NULL |
--------------------------------------------------------
| 4 | 7/24/20 2:00 PM | NULL |
---------------------------------------------------------
| 7 | 7/24/20 3:00 PM | NULL |
--------------------------------------------------------
| 6 | 7/24/20 3:30 PM | NULL |
--------------------------------------------------------
| 1 | 7/24/20 5:00 PM | NULL |
--------------------------------------------------------
| 1 | NULL | 7/25/20 5:45 PM |
--------------------------------------------------------
| 1 | NULL | 7/25/20 6:00 PM |
--------------------------------------------------------
| 3 | 7/25/20 8:30 AM | NULL |
---------------------------------------------------------
| 3 | NULL | 7/26/20 9:00 AM |
有什么建议吗?提前谢谢 如果我理解正确,您希望按每个
id
的最短发布时间排序,然后按购买时间排序
您可以按顺序使用窗口功能:
order by min(releasetime) over (partition by id),
id,
purchasetime asc
如果我理解正确,您希望按每个
id
的最短发布时间排序,然后按购买时间排序
您可以按顺序使用窗口功能:
order by min(releasetime) over (partition by id),
id,
purchasetime asc
谢谢戈登!很高兴您能从这个非格式化的表中理解它(对不起!),这让我更好地理解了“partitionby”子句,并且我能够将它应用到两个类似的问题上Hanks Gordon!很高兴您能从这个非格式化的表中理解它(对不起!),这使我更好地理解了“partitionby”子句,并且我能够将它应用于两个类似的问题:您使用的是哪个数据库?您使用的是哪个数据库?