2016-07-30 56 views
1

我有以下格式的表格中的数据。基于不同列值对行进行排序

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子句,因为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 

请通过子句为了帮助排序依据客户。

+0

'select * from customertable,customerId,displayOrder' – SMA

回答

4

你只需要通过客户ID进行排序,然后显示顺序(如果客户ID是一样的),如:

SELECT * 
FROM mytable 
ORDER BY customerId, displayOrder; 

Fiddle的一样。

3
SELECT * 
FROM t 
ORDER BY CustomerID, 
     DisplayOrder; 
相关问题