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 ORDER by Name ASC LIMIT 0,100
于 2012-09-12T07:20:39.067 に答える
0

のようにしてみてください

select name,id from tbl_book orderby name asc

ただし、制限を設定する場合は、開始値を更新し、制限値を (100,20)、(100,40)、... のように定数として設定する必要があります。

于 2012-09-12T07:12:37.927 に答える