首页 文章

SQL将数据排序为模式

提问于
浏览
5

不确定这是否可行,但可能有一种创造性的方法......

鉴于SQL Server 2005中的这些数据:

AAA
AAA
BBB
BBB
CCC
CCC
DDD
DDD

我怎样才能返回以这样的模式排序的结果集:

AAA
BBB
CCC
DDD
AAA
BBB
CCC
DDD

3 回答

  • 0

    如果您的列被称为“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;
    
  • 5

    不知道它是否有效,但在Oracle中我会尝试创建一个视图,在该视图中使用ROWNUM查看视图 .

    然后查询视图并排序:

    • rownum modulo 2

    • 字符串

    我这里没有我的数据库来测试这个,但是这个提示可能会给你一些想法 .

  • 0

    Mysql,假设你有表T(一个varchar);使用您提供的数据:

    select @t:=a from T order by @t <> a;
    

    有用 :-)

相关问题