第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

MySQL‘Order by’-正確排序字母數字

MySQL‘Order by’-正確排序字母數字

繁花不似錦 2019-10-20 12:08:22
MySQL‘Order by’-正確排序字母數字我想按以下順序對下列數據項進行排序(編號1-12):1 2 3 4 5 6 7 8 9 10 11 12但是,我的查詢-使用order by xxxxx asc按第一個數字排序,而不是所有其他數字:1 10 11 12 2 3 4 5 6 7 8 9有什么辦法讓它更合適嗎?此外,為了充分披露,這可能是字母和數字的混合(盡管目前并非如此),例如:A1 534G G46A 100B 100A 100JE等等.。謝謝!更新:要求查詢的人select * from table order by name asc
查看完整描述

3 回答

?
四季花海

TA貢獻1811條經驗 獲得超5個贊

人們用不同的技巧來做這件事。我在谷歌上搜索并發(fā)現(xiàn)了一些結果,每個結果都遵循不同的技巧。看看他們:

編輯:

我剛剛為未來的訪問者添加了每個鏈接的代碼。

MySQL中的α數字排序

給定輸入


1A 1a 10A 9B 21C 1C 1D


預期產出

1A 1C 1D 1a 9B 10A 21C

查詢


Bin Way

===================================

SELECT 

tbl_column, 

BIN(tbl_column) AS binray_not_needed_column

FROM db_table

ORDER BY binray_not_needed_column ASC , tbl_column ASC


-----------------------


Cast Way

===================================

SELECT 

tbl_column, 

CAST(tbl_column as SIGNED) AS casted_column

FROM db_table

ORDER BY casted_column ASC , tbl_column ASC

MySQL中的自然排序

給定輸入


Table: sorting_test

 -------------------------- -------------

| alphanumeric VARCHAR(75) | integer INT |

 -------------------------- -------------

| test1                    | 1           |

| test12                   | 2           |

| test13                   | 3           |

| test2                    | 4           |

| test3                    | 5           |

 -------------------------- -------------

預期產出


 -------------------------- -------------

| alphanumeric VARCHAR(75) | integer INT |

 -------------------------- -------------

| test1                    | 1           |

| test2                    | 4           |

| test3                    | 5           |

| test12                   | 2           |

| test13                   | 3           |

 -------------------------- -------------


查詢

SELECT alphanumeric, integer       FROM sorting_test       ORDER BY LENGTH(alphanumeric), alphanumeric

混合字母數字值的數值排序

給定輸入

2a, 12, 5b, 5a, 10, 11, 1, 4b

預期產出

1, 2a, 4b, 5a, 5b, 10, 11, 12

查詢

SELECT versionFROM version_sortingORDER BY CAST(version AS UNSIGNED), version;

希望這能幫上忙



查看完整回答
反對 回復 2019-10-21
?
SMILET

TA貢獻1796條經驗 獲得超4個贊

就這么做吧:

SELECT * FROM table ORDER BY column `name`+0 ASC

附加+0將意味著:

0, 10, 11, 2, 3, 4

變成:

0, 2, 3, 4, 10, 11



查看完整回答
反對 回復 2019-10-21
  • 3 回答
  • 0 關注
  • 647 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號