如何按顺序选择订购?
我的意思是,我有这些数据:
column_1 | column_2
1 | a
2 | b
3 | c
4 | d
4 | e
3 | f
1 | g
2 | h
我想按1-4组订购,我的意思是:
column_1 | column_2
1 | a
2 | b
3 | c
4 | d
1 | g
2 | h
3 | f
4 | e
我希望column_1按 1,2,3,4 序列排序,然后再次 1,2,3,4 。 我的意思是,我不希望以这种方式订购:1,1,2,2,3,3,4,4 ...
[[编辑]]
column_2应该是Asc,我的意思是:按列排序_2
[[EDIT 2]]
我将在SQLite上使用此选择。我正在尝试使用SQL commons命令找到一种方法。
有谁知道怎么可能?
答案 0 :(得分:1)
如果您想按顺序排序,您真的希望枚举第1列中的每个值,对每个值都是独立的。例如:
1 1
2 1
3 1
4 1
4 2
3 2
2 2
1 2
5 1
5 2
5 3
我不确定在SQLite中是否有一种简单的方法可以做到这一点。在MySQL中,您将使用变量。在其他数据库中,窗口函数。您可以完成此相关子查询:
select column_1, column_2
from (select t.*,
(select count(*) from table t2 where t2.column_1 = t.column_1 and t2.rowid <= t.rowid
) as seqnum
from table t
) t
order by seqnum, column_1;