gpt4 book ai didi

sql - 基于引用记录的自定义排序

转载 作者:行者123 更新时间:2023-12-02 02:10:32 25 4
gpt4 key购买 nike

请考虑这些数据:

Id           F1          F2          Ref_ID
-------------------------------------------
1 Nima 35 Null
2 Eli 33 Null
3 Arian 5 1
4 Ava 1 1
5 Arsha 3 2
6 Rozhan 30 1
7 Zhina 20 2

我想像这样的结果对该表进行排序:

Id           F1          F2          Ref_ID
-------------------------------------------
1 Nima 35 Null
3 Arian 5 1
4 Ava 1 1
6 Rozhan 30 1
2 Eli 33 Null
5 Arsha 3 2
7 Zhina 20 2

被引用的记录应该按照Id升序排列在被引用记录的下面。

如何使用 LINQSQL 执行此操作。谢谢

最佳答案

在 SQL 中,您可以使用 COALESCEISNULL 作为 Ref_id 和 Id 对其进行排序。

还有一个 IIFCASE WHEN 以确保父 ID 在同一组 Ref_id 中排在第一位。

SELECT Id, F1, F2, Ref_ID
FROM YourTable
ORDER BY COALESCE(Ref_ID, Id), IIF(Ref_ID IS NULL, 0, 1), Id;

db<>fiddle here 进行测试

关于sql - 基于引用记录的自定义排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55721721/

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