惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Security Latest
Security Latest
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Stack Overflow Blog
Stack Overflow Blog
WordPress大学
WordPress大学
N
Netflix TechBlog - Medium
GbyAI
GbyAI
云风的 BLOG
云风的 BLOG
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
宝玉的分享
宝玉的分享
博客园 - 【当耐特】
C
Cyber Attacks, Cyber Crime and Cyber Security
雷峰网
雷峰网
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
T
Threat Research - Cisco Blogs
NISL@THU
NISL@THU
Spread Privacy
Spread Privacy
P
Proofpoint News Feed
J
Java Code Geeks
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
MyScale Blog
MyScale Blog
T
Tor Project blog
P
Proofpoint News Feed
C
CERT Recently Published Vulnerability Notes
P
Privacy & Cybersecurity Law Blog
MongoDB | Blog
MongoDB | Blog
Simon Willison's Weblog
Simon Willison's Weblog
C
Cybersecurity and Infrastructure Security Agency CISA
L
LINUX DO - 热门话题
小众软件
小众软件
G
GRAHAM CLULEY
P
Privacy International News Feed
AWS News Blog
AWS News Blog
Know Your Adversary
Know Your Adversary
P
Palo Alto Networks Blog
人人都是产品经理
人人都是产品经理
S
Schneier on Security
Scott Helme
Scott Helme
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
B
Blog RSS Feed
T
The Exploit Database - CXSecurity.com
Recent Announcements
Recent Announcements
E
Exploit-DB.com RSS Feed
C
CXSECURITY Database RSS Feed - CXSecurity.com
U
Unit 42
The Register - Security
The Register - Security
S
Securelist
Martin Fowler
Martin Fowler
Project Zero
Project Zero
大猫的无限游戏
大猫的无限游戏
Cisco Talos Blog
Cisco Talos Blog

博客园 - 山顶洞外人

k8s部署dengine-3.3.6.9 wsl 磁盘 SQL 写法对比 关于达梦8管理工具执行多行sql语法错误问题 从C#接口的属性获取多个实现类中字段的值 idea 中无法连接 sql server 数据库,报错 [08S01] 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接 TransactionScope 图片扩容 已将此 订阅标记为不活动,必须将其重新初始化。需要删除NoSync 订阅,然后重新创建它们 visual studio 2017 将winform 打包成 msi 安装文件 漏洞处理 阿里云物联网测试 net core3.1 + electron 9.31.2 项目初始化 delete in 事故清表 sql 脚本执行时间 webapi filter 分组后条件查询 一行拆多行 有关数据库锁表
order by 排序的数字异常
山顶洞外人 · 2020-06-23 · via 博客园 - 山顶洞外人

order by  在排序的时候尽量查询少量的字段和查询长度较小的字段,否则会影响 排序

               --SELECT  *
    --INTO    ##CTEC
    --FROM    ( SELECT   * ,
    --                        --ROW_NUMBER() OVER ( ORDER BY CASE WHEN INST_DEADLINE IS NULL
    --                        --                                  THEN WS_ID
    --                        --                                  ELSE ''
    --                        --                             END DESC ) AS ORDER_NUM 
    --                        --                                 ,
    --                        ROW_NUMBER() OVER ( ORDER BY CASE @sortdirection
    --                                                       WHEN 'ASC'
    --                                                       THEN CASE @sortby
    --                                                          WHEN 'DEADLINE'
    --                                                          THEN ISNULL(INST_DEADLINE,
    --                                                          '3099-1-1')
    --                                                          END
    --                                                     END ASC, CASE @sortdirection
    --                                                          WHEN 'DESC'
    --                                                          THEN CASE @sortby
    --                                                          WHEN 'DEADLINE'
    --                                                          THEN INST_DEADLINE
    --                                                          END
    --                                                          END DESC, CASE @sortdirection
    --                                                          WHEN ''
    --                                                          THEN CASE @sortby
    --                                                          WHEN ''
    --                                                          THEN INST_DEADLINE
    --                                                          END
    --                                                          END DESC ) AS NUM
    --               FROM     ( SELECT    *
    --                          FROM      ##CTEB
    --                        ) T_CTEB
    --               WHERE    1 = 1
    --                        --AND numid = 1
                       
    --        ) AS T5;  


    DECLARE @orderby VARCHAR(50)= @sortby + ' ' + @sortdirection;

    PRINT @orderby
    SELECT  *
    INTO    ##CTEC
    FROM    ( SELECT    * ,
                        ROW_NUMBER() OVER ( ORDER BY CASE WHEN @orderby = 'DEADLINE DESC'
                                                          THEN INST_DEADLINE
                                                     END DESC, CASE
                                                              WHEN @orderby = 'DEADLINE ASC'
                                                              THEN INST_DEADLINE
                                                              END ASC, CASE
                                                              WHEN @orderby = 'ID DESC'
                                                              THEN ID
                                                              END DESC, CASE
                                                              WHEN @orderby = 'ID ASC'
                                                              THEN ID
                                                              END ASC, CASE
                                                              WHEN @orderby = 'ADDRESS DESC'
                                                              THEN ADDRESS
                                                              END DESC, CASE
                                                              WHEN @orderby = 'ADDRESS ASC'
                                                              THEN ADDRESS
                                                              END ASC , CASE
                                                              WHEN @orderby = 'TITLE DESC'
                                                              THEN TITLE
                                                              END DESC, CASE
                                                              WHEN @orderby = 'TITLE ASC'
                                                              THEN TITLE
                                                              END ASC , CASE
                                                              WHEN @orderby = 'CONTENT DESC'
                                                              THEN CONTENT
                                                              END DESC, CASE
                                                              WHEN @orderby = 'CONTENT ASC'
                                                              THEN CONTENT
                                                              END ASC , CASE
                                                              WHEN @orderby = 'CREATE_TIME DESC'
                                                              THEN CREATE_TIME
                                                              END DESC, CASE
                                                              WHEN @orderby = 'CREATE_TIME ASC'
                                                              THEN CREATE_TIME
                                                              END ASC ) AS RowNum
              FROM      ##CTEB
              WHERE     1 = 1
            ) AS T5;