当我通过Classement订购我的数据库SQLITE时,我有这个:
Classement | Nom
1 | clem
10 | caro
11 | flo
12 | raph
2 | prisc
3 | karim
4 | prout
我想得到:
Classement | Nom
1 | clem
2 | prisc
3 | karim
4 | prout
10 | caro
11 | flo
12 | raph
这是我的代码:
SELECT t.Classement
FROM tableau t
WHERE 1 = (SELECT 1 + COUNT (*) FROM tableau t2 WHERE t2.Classement < t.Classement OR ( t2.Classement == t.Classement AND t2.Nom < t.Nom ))
任何人都可以帮助我吗? 谢谢!
答案 0 :(得分:1)
如果值是字符串,则会得到字母顺序。
要更改表以便所有Classement
值都是数字,请确保列类型不是文本类型,并使用:
UPDATE tableau SET Classement = CAST(Classement AS NUMBER);
答案 1 :(得分:0)
我猜Classement列不是整数而是字符。
试试这个 SELECT * FROM tableau order by cast(Classement as integer)