<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      mysql 一個字段多種排序方式

      一、mysql 一個字段多種排序

      1. 數據
        id name
        1 tkj1000020-1.11test
        2 tkj1000020-1
        3 tkj1000020-2.1 test
        4 tkj1000020-2.2 test
        5 tkj1000020-2
        6 tkj1000020.1test
        7 tkj1000020.1test_001
        8 tkj1000020.2test
        9 tkj1000020.3test
        10 tkj1000020aest
        11 tkj1000020test
        12 tkj10000203333
        13 tkj1000020.Qtest
        14 tkj1000020-abb12
        15 tkj1000020.1 test
        16 tkj1000020.1test_002
      2. 排序規則
        • 字母優先 按 26 個字母順序排列
        • 其次字符 ..[a-zA-Z] 需要排在 .[0-9] 前面
        • 其次字符 --[a-zA-Z] 需要排在 -[0-9] 前面
        • 其次字符 - 緊跟數字然后是字母,優先數字排序然后是字母排序
      3. sql
        SELECT * FROM 
        (
           SELECT Name,
           (
           CASE
              -- 1. 字母結尾并且數據不包含字符 '.'、 '-',排第一
              WHEN Name REGEXP '.*[a-zA-Z]$' AND Name NOT REGEXP '[\\.\\-]' THEN 0
              -- 2. .[a-zA-Z] 整個數據不包含字符 '-',排第二
              WHEN Name REGEXP '\\.[a-zA-Z]' AND Name NOT REGEXP '[\\-]'  THEN 1
              -- 3. .[0-9] 整個數據不包含字符 '-',排第三
              WHEN Name REGEXP '\\.[0-9]'  AND Name NOT REGEXP '[\\-]'  THEN 2
              -- 4. -[a-zA-Z], 排第四
              WHEN Name REGEXP '\\-[a-zA-Z]' THEN 3
              -- 5. -[0-9], 排第五
              WHEN Name REGEXP '\\-[0-9]' THEN 4
              -- 6. [\\.\\-] 整個數據不包含 '.' 、 '-',排第六
              WHEN Name NOT REGEXP '[\\.\\-]' THEN  5
              -- 7. 其他默認排最后
              ELSE 6
           END
           ) AS Sort
           FROM `Database.Table` where Type ='tkj1000020'
        ) As Data ORDER BY Sort,Name; -- 先根據 Sort 排序,然后根據 Name 排序
        
      4. 排序結果
        id name sort
        1 tkj1000020aest 0
        2 tkj1000020test 0
        3 tkj1000020.Qtest 1
        4 tkj1000020.1 test 2
        5 tkj1000020.1test 2
        6 tkj1000020.1test_001 2
        7 tkj1000020.1test_002 2
        8 tkj1000020.2test 2
        9 tkj1000020.3test 2
        10 tkj1000020-abb12 3
        11 tkj1000020-1 4
        12 tkj1000020-1.11test 4
        13 tkj1000020-2 4
        14 tkj1000020-2.1 test 4
        15 tkj1000020-2.2 test 4
        16 tkj10000203333 5
      5. 待續

      二、文件名排序

      1. 數據
        id name
        1 fkj1000022-1.png
        2 fkj1000022-1.11test.jpg
        3 fkj1000022-2.1test.png
        4 fkj1000022-2.2test.png
        5 fkj1000022-2_002.jpg
        6 fkj1000022.1test.png
        7 fkj1000022.1test_001.jpg
        8 fkj1000022.2test.png
        9 fkj1000022.3test.jpg
        10 fkj10000223333.png
        11 fkj1000022test.jpg
        12 fkj1000022aest.jpg
      2. 排序規則
        • 字母優先 按 26 個字母順序排列
        • 其次字符 ..[a-zA-Z] 需要排在 .[0-9] 前面
        • 其次字符 --[a-zA-Z] 需要排在 -[0-9] 前面
        • 其次字符 - 緊跟數字然后是字母,優先數字排序然后是字母排序
      3. sql
        -- 正則文件名(無后綴)
        SELECT REGEXP_REPLACE('fkj1000022-2.1test.jpg', '\\.[^.\\/]+$', '')
        -- 輸出結果(fkj1000022-2.1test)
        
        SELECT * FROM 
        (
         SELECT Id,REGEXP_REPLACE(Name, '\\.[^.\\/]+$', '') as Rename,
         (
          CASE
             -- 1、正則文件名(無后綴),字母結尾并且數據不包含字符 '.'、 '-',排第一
             WHEN REGEXP_REPLACE(Name, '\\.[^.\\/]+$', '') REGEXP '.*[a-zA-Z]$' AND REGEXP_REPLACE(Name, '\\.[^.\\/]+$', '') NOT REGEXP '[\\.\\-]' THEN 0
             -- 2. 正則文件名(無后綴),.[a-zA-Z] 整個數據不包含字符 '-',排第二
             WHEN REGEXP_REPLACE(Name, '\\.[^.\\/]+$', '') REGEXP '\\.[a-zA-Z]' AND REGEXP_REPLACE(Name, '\\.[^.\\/]+$', '') NOT REGEXP '[\\-]'  THEN 1
             -- 3. 正則文件名(無后綴),.[0-9] 整個數據不包含字符 '-',排第三
             WHEN REGEXP_REPLACE(Name, '\\.[^.\\/]+$', '') REGEXP '\\.[0-9]'  AND REGEXP_REPLACE(Name, '\\.[^.\\/]+$', '') NOT REGEXP '[\\-]'  THEN 2
             -- 4. 正則文件名(無后綴),-[a-zA-Z], 排第四
             WHEN REGEXP_REPLACE(Name, '\\.[^.\\/]+$', '') REGEXP '\\-[a-zA-Z]' THEN 3
             -- 5. 正則文件名(無后綴), -[0-9], 排第五
             WHEN REGEXP_REPLACE(Name, '\\.[^.\\/]+$', '') REGEXP '\\-[0-9]' THEN 4
             -- 6. 正則文件名(無后綴),[\\.\\-] 整個數據不包含 '.' 、 '-',排第六
             WHEN REGEXP_REPLACE(Name, '\\.[^.\\/]+$', '')NOT REGEXP '[\\.\\-]' THEN  6
             -- 7. 其他默認排最后
             ELSE 7
          END
         ) AS Sort
         FROM DataBase.`Table` where Id = 7338686932664384
        ) As Data ORDER BY Sort,Rename ASC -- 先根據 Sort 排序,然后根據 Rename 排序;
        
      4. 排序結果
        id rename sort
        1 fkj1000022aest 0
        2 fkj1000022test 0
        3 fkj1000022.1test 2
        4 fkj1000022.1test_001 2
        5 fkj1000022.2test 2
        6 fkj1000022.3test 2
        7 fkj1000022-1 4
        8 fkj1000022-1.11test 4
        9 fkj1000022-2_002 4
        10 fkj1000022-2.1test 4
        11 fkj1000022-2.2test 4
        12 fkj10000223333 6
      5. 待續
      posted @ 2024-12-28 11:41  1764564459  閱讀(47)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 日本免费人成视频在线观看| 亚洲AV日韩AV综合在线观看| 日本欧美大码a在线观看| 精品91在线| av偷拍亚洲一区二区三区| 日韩人妻无码精品久久| 亚洲av激情久久精品人| 午夜福利国产精品视频| 国产不卡精品视频男人的天堂| 国产无遮挡免费真人视频在线观看 | 黑人av无码一区| 久久久久人妻精品一区三寸| 潮喷失禁大喷水无码| 麻豆亚洲自偷拍精品日韩另| 亚洲高清日韩专区精品| 国产精品一品二区三四区| 国厂精品114福利电影免费| 无码天堂亚洲国产AV| 国产精品高清视亚洲乱码| 日本三级理论久久人妻电影 | 欧美成人www免费全部网站| 国产精品夜夜春夜夜爽久久小说| 西充县| 国内不卡不区二区三区| 欧美裸体xxxx极品| 国产精品中文第一字幕| 亚洲香蕉免费有线视频| 中文字幕无码不卡在线| 久久亚洲精品人成综合网| 欧洲中文字幕一区二区| 日产国产一区二区不卡| 国产精品成人综合色在线| 国产精品一二三区蜜臀av| 国产人妻大战黑人第1集| 久久99精品久久久久麻豆| 熟女在线视频一区二区三区| 国内不卡不区二区三区| 亚洲av免费成人在线| 国产成人午夜福利在线观看| 999福利激情视频| 亚洲 欧美 唯美 国产 伦 综合|