我在表格中有以下格式的数据。
CustomerID | CustomerName | DisplayOrder | isActive
1 | Test | 1 | 1
1 | Test | 2 | 1
2 | Test2 | 1 | 1
1 | Test | 3 | 1
2 | Test2 | 2 | 1
上表需要根据每个客户的displayorder列进行排序。每个客户都有自己的显示顺序。在这里,我不能直接使用OrderBy Clause,因为显示顺序将按照客户重复。
预期输出为:
CustomerID | CustomerName | DisplayOrder | isActive
1 | Test | 1 | 1
1 | Test | 2 | 1
1 | Test | 3 | 1
2 | Test2 | 1 | 1
2 | Test2 | 2 | 1
请按顺序帮助按客户排序。
答案 0 :(得分:4)
您只需按customerId排序,然后显示订单(如果客户ID相同),如:
SELECT *
FROM mytable
ORDER BY customerId, displayOrder;
Fiddle也是如此。
答案 1 :(得分:3)
SELECT *
FROM t
ORDER BY CustomerID,
DisplayOrder;