Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQLITE按数字而不是字母排序_Sqlite_Numeric_Sql Order By - Fatal编程技术网

SQLITE按数字而不是字母排序

SQLITE按数字而不是字母排序,sqlite,numeric,sql-order-by,Sqlite,Numeric,Sql Order By,当我按类别订购数据库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

当我按类别订购数据库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 ))
有人能帮我吗?
谢谢大家!

我猜列分类不是整数而是字符。所以试试这个:

SELECT * FROM tableau ORDER BY cast(Classement as integer);

如果值是字符串,则按字母顺序排列

要更改表格,使所有类别值都是数字,请确保列类型不是文本类型,并使用以下命令:

UPDATE tableau SET Classement = CAST(Classement AS NUMBER);

解决了这个问题,它来自我的专栏,它是一个文本,而不是一个整数!谢谢大家