0

我正在根据名称列对表进行排序,但排序不正确。

它是这样排序的:-根据字母顺序排列前 20 行,然后再次根据字母顺序排序。

这是我的查询

select Name,ID from tbl_book order by Name Limit 0,100

这就是我得到的

abcd|2
bgry|3
...
...
zref|100
agtr|4
dret|10
...
...

任何人都知道为什么会这样。

更新

ID int(11)
Name varchar(255)

它的答案是

select ltrim(Name),ID from tbl_book order by 1 Limit 0,100

由 TUXUDAY..

4

3 回答 3

1

试试这个查询:

SELECT Name, ID 
FROM  tbl_book
ORDER BY LTRIM(Name)
LIMIT 100;

或者数据整理可能存在问题。也试试这个:

SELECT Name, ID 
FROM  tbl_book
ORDER BY LTRIM(Name) COLLATE latin1_swedish_ci 
LIMIT 100;
于 2012-09-12T07:19:18.827 回答
0

试试喜欢

select name,id from tbl_book orderby name asc

但是如果你想设置限制,那么你需要更新起始值并将限制值设置为常量,如 (100,20),(100,40),...

于 2012-09-12T07:12:37.927 回答
0

你可以试试这个:

SELECT Name,ID FROM tbl_book ORDER by Name ASC LIMIT 0,100
于 2012-09-12T07:20:39.067 回答