根据不同的列值对行进行排序
Order rows based on different column value
我在 table 中有以下格式的数据。
CustomerID | CustomerName | DisplayOrder | isActive
1 | Test | 1 | 1
1 | Test | 2 | 1
2 | Test2 | 1 | 1
1 | Test | 3 | 1
2 | Test2 | 2 | 1
以上 table 需要根据每个客户的 displayorder 列进行排序。每个客户都有自己的展示顺序。在这里我不能直接使用 OrderBy 子句,因为 Display order 将按客户重复。
预期输出为:
CustomerID | CustomerName | DisplayOrder | isActive
1 | Test | 1 | 1
1 | Test | 2 | 1
1 | Test | 3 | 1
2 | Test2 | 1 | 1
2 | Test2 | 2 | 1
请帮助 order by 子句以根据客户排序。
SELECT *
FROM t
ORDER BY CustomerID,
DisplayOrder;
您只需要按 customerId 排序,然后显示订单(如果 customer id 相同),例如:
SELECT *
FROM mytable
ORDER BY customerId, displayOrder;
Fiddle 相同。
我在 table 中有以下格式的数据。
CustomerID | CustomerName | DisplayOrder | isActive
1 | Test | 1 | 1
1 | Test | 2 | 1
2 | Test2 | 1 | 1
1 | Test | 3 | 1
2 | Test2 | 2 | 1
以上 table 需要根据每个客户的 displayorder 列进行排序。每个客户都有自己的展示顺序。在这里我不能直接使用 OrderBy 子句,因为 Display order 将按客户重复。
预期输出为:
CustomerID | CustomerName | DisplayOrder | isActive
1 | Test | 1 | 1
1 | Test | 2 | 1
1 | Test | 3 | 1
2 | Test2 | 1 | 1
2 | Test2 | 2 | 1
请帮助 order by 子句以根据客户排序。
SELECT *
FROM t
ORDER BY CustomerID,
DisplayOrder;
您只需要按 customerId 排序,然后显示订单(如果 customer id 相同),例如:
SELECT *
FROM mytable
ORDER BY customerId, displayOrder;
Fiddle 相同。