随机订购表,但有例外

时间:2018-07-12 20:40:23

标签: sql sql-server-2012

我有一个需要随机排序的表,但有些行需要粘在一起。

例如,表是这样生成的

From this

所有具有CATEGORY = C和CODE = 101的行都需要按顺序排列(一个接一个),但应按一般顺序排列在随机位置。其他行需要随机排序。

Like this

是否可以仅通过“ order by”来执行此操作?

2 个答案:

答案 0 :(得分:2)

尝试一下:

code_prettify

这会将相同的{ "r": { "library": "library(styler)\nlibrary(jsonlite)\n", "prefix": "cat(toJSON(paste(style_text(text=", "postfix": "), collapse='\n')))" } } 分配给异常行,将随机的DECLARE @exceptionOrder uniqueidentifier = NEWID() SELECT ID, Category, Code FROM yourTable ORDER BY CASE WHEN Category = 'C' AND Code = 101 THEN @exceptionOrder ELSE NEWID() END 分配给其余各行,然后按顺序进行排序。

答案 1 :(得分:0)

怎么样:

def ACCESS(dic, *strings):
    def ACCESS_LAMBDA():
        result = dic
        for key in strings:
            result = result[key]
        return result
    return ACCESS_LAMBDA

dic = { 'a': { 'b': { 'c': 42 } } }

ABC_ACCESS = ACCESS(dic, 'a','b','c')
print ABC_ACCESS()