不确定这是否可行,但可能有一种创造性的方法......
鉴于SQL Server 2005中的这些数据:
AAAAAABBBBBBCCCCCCDDDDDD
我怎样才能返回以这样的模式排序的结果集:
AAABBBCCCDDDAAABBBCCCDDD
如果您的列被称为“col”,并且您的表名为“table”,我会尝试这样的事情:
WITH Indexes AS ( SELECT ROW_NUMBER() OVER (PARTITION BY col ORDER BY col) as __row, col FROM table) SELECT col FROM Indexes ORDER BY __row, col;
不知道它是否有效,但在Oracle中我会尝试创建一个视图,在该视图中使用ROWNUM查看视图 .
然后查询视图并排序:
rownum modulo 2
字符串
我这里没有我的数据库来测试这个,但是这个提示可能会给你一些想法 .
Mysql,假设你有表T(一个varchar);使用您提供的数据:
select @t:=a from T order by @t <> a;
有用 :-)
3 回答
如果您的列被称为“col”,并且您的表名为“table”,我会尝试这样的事情:
不知道它是否有效,但在Oracle中我会尝试创建一个视图,在该视图中使用ROWNUM查看视图 .
然后查询视图并排序:
rownum modulo 2
字符串
我这里没有我的数据库来测试这个,但是这个提示可能会给你一些想法 .
Mysql,假设你有表T(一个varchar);使用您提供的数据:
有用 :-)