2010-10-19 90 views
8

我正在嘗試使用字母排序mysql數據,如mysql字母順序

A | B | C | d

當我點擊B此查詢從用戶的ORDER BY「B」

運行

選擇的名字,但結果顯示開始與A或C或二要顯示記錄的所有記錄開始只用b

感謝您的幫助

回答

27

我想顯示僅記錄開始用b

select name from user where name LIKE 'b%'; 

我試圖MySQL數據alphabeticaly

select name from user ORDER BY name; 
排序

我試圖以相反的字母順序

select name from user ORDER BY name desc; 
6

但結果顯示所有記錄 開始用A或C或二要 顯示只記錄開始用b

你應該在這種情況下使用WHERE

select name from user where name = 'b' order by name 

如果你想允許正則表達式,你可以使用LIKE如果你願意,也可以在那裏操作例如:

select name from user where name like 'b%' order by name 

這將選擇以b開頭的記錄。在另一方面下面的查詢將選擇其中b在列的任何地方發現的所有行:

select name from user where name like '%b%' order by name 
1

如果你想限制由查詢返回的行,你需要使用一個WHERE條款,而不是一個ORDER BY條款。嘗試

select name from user where name like 'b%' 
2

MySQL的數據進行排序,您可以使用:

SELECT name FROM user WHERE name like 'b%' ORDER BY name 
1

而按字母順序排序的數據,則不需要用戶where子句。 這裏是我的代碼

SELECT * FROM tbl_name ORDER BY field_name 

就是這樣。 它以字母順序返回數據,即;從A到Z。 :)

1

通配符與like子句一起使用來對記錄進行排序。

如果我們要搜索一個字符串,它是

開始與B,則代碼如下所示:

SELECT * FROM表名,其中colname的像被列名「B%」秩序;

如果我們要搜索以B結尾的字符串,則代碼如下所示: select * from tablename其中colname如'%B'按列名排序;

如果我們要搜索一個字符串,它是

包含B,則代碼如下所示: SELECT * FROM表名,其中colname的像被列名「%B%」命令;

如果我們要搜索第二個字符爲B的字符串,則代碼如下所示: select * from tablename其中colname如'_B%'按列名排序;

如果我們要搜索第三個字符爲B的字符串,則代碼如下所示: select * from tablename其中colname如'__B%'按列名排序;

注意:一個字符爲一個下劃線。

0

我嘗試使用查詢它做工精細的數據進行排序,我請試試這個:

select name from user order by name asc 

也可以嘗試下面的查詢搜索記錄是按字母順序

SELECT name FROM `user` WHERE `name` LIKE 'b%' 
+0

這個答案是一樣的一切其他答案。你爲什麼要發佈它? – robinCTS 2017-12-23 06:54:30

+0

@LuFFy你爲什麼編輯這篇文章?第一部分不是對問題的回答(並且已經在接受的答案中提供),第二部分僅僅是複製其他答案。 – robinCTS 2017-12-23 08:29:02

+0

我剛剛格式化了答案..你可以通過點擊'編輯'鏈接查看區別。 – LuFFy 2017-12-23 09:01:47