以自定义重复模式排序行

时间:2017-06-24 05:28:07

标签: sql sql-server

有没有办法在自定义模式中排序行。例如: 假设我有一个表(Id,type,createdDate),其类型列值为A,B,C。我希望结果集在重复模式中 B B C A,由类型中的createdDate排序。谢谢! 这是一个例子

1   |   A   |   2017-1-20
2   |   A   |   2017-1-19
3   |   B   |   2017-1-21
4   |   B   |   2017-1-22
5   |   B   |   2017-1-23
6   |   C   |   2017-2-20
7   |   B   |   2017-2-19
8   |   B   |   2017-2-21
9   |   A   |   2017-2-22
10  |   A   |   2017-2-23
11  |   B   |   2017-2-20

上表可以看作是由CreatedDate排序的三组数据。

2   |   A   |   2017-1-19
1   |   A   |   2017-1-20
9   |   A   |   2017-2-22
10  |   A   |   2017-2-23


3   |   B   |   2017-1-21
4   |   B   |   2017-1-22
5   |   B   |   2017-1-23
7   |   B   |   2017-2-19
11  |   B   |   2017-2-20
8   |   B   |   2017-2-21


6   |   C   |   2017-2-20

应根据模式和createdDate对结果集进行排序。

结果

3   |   B   |   2017-1-21
4   |   B   |   2017-1-22
6   |   C   |   2017-1-20
2   |   A   |   2017-1-19

5   |   B   |   2017-1-23
7   |   B   |   2017-2-19
1   |   A   |   2017-1-20

11  |   B   |   2017-2-20
8   |   B   |   2017-2-21
9   |   A   |   2017-2-22

10  |   A   |   2017-2-23

我们可以将输入表视为按日期排序的三个集合。我们必须以B B C A的模式合并它们(这是一个例子,模式是灵活的)。

0 个答案:

没有答案
相关问题