2

私は次のようなテーブルを持っています

CREATE TABLE IF NOT EXISTS example 
(id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(100) NOT NULL,
primary key ( id ))

1 -> 20 のようにテーブル 20 レコードに挿入します

id | name
1  | example 0
2  | example 1
...
20 | example 19

私は次のようなクエリを行います

SELECT *
FROM `example`
ORDER BY `name` DESC 

しかし、結果は

id | name
10 | example 9
9  | example 8
...
1  | example 0

だと思います

id | name
20 | example 19
19 | example 18
...
1  | example 0

どうすれば自分の思うようにできるでしょうか。ありがとう

4

5 に答える 5

1

を使用SUBSTRINGしてスペースの後の数字を取得し、使用中に動作LOCATEするORDER BYはずCASTです。

SELECT   *
FROM     example
ORDER BY CAST(SUBSTRING(name,LOCATE(' ',name)+1) AS SIGNED) DESC
于 2013-07-26T13:58:10.560 に答える