我有一个返回父记录和子记录的查询。每条记录都有一个总金额字段。我尝试按总金额排序查询,但是在父级别上。子记录将显示在父
的正下方例如,如果我有以下
| RecordID | Parent | Total |
|123 | 1| 90 |
|235 | 0| 70 |
|123 | 0| 100 |
|235 | 1| 60 |
我从最高到最低排序,看起来应该是这样的
RecordID Parent Total
| 123 | 1 | 90 |
| 123 | 0 | 100 |
| 235 | 1 | 60 |
| 235 | 0 | 70 |
我认为我可能需要在每个组的选择查询中放置某种排序号,所以在这个例子中,RecordID
123将被分配1,而记录235将被分配2
使用此功能,我可以按SortNumber
,Parent
,Total
排序。
有什么想法吗?
答案 0 :(得分:1)
获取父值的简单自我JOIN应该做得好;
SELECT a.*
FROM mytable a
JOIN mytable b
ON a.recordid=b.recordid
AND b.parent=1
ORDER BY b.total,b.recordid,a.parent DESC
答案 1 :(得分:0)
按recordid
排序有什么问题?
select recordid, parent, total
from yourtable
order by recordid, parent desc, total