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

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_Select_Sql Order By - Fatal编程技术网

Sqlite 以不同的顺序排列零值

Sqlite 以不同的顺序排列零值,sqlite,select,sql-order-by,Sqlite,Select,Sql Order By,我想添加一个临时列调用RowNum(我已经成功地获得了它)。 但我的问题是,我希望我的数据在“Moyenne”列的末尾有一个值为零的>或

我想添加一个临时列调用RowNum(我已经成功地获得了它)。 但我的问题是,我希望我的数据在“Moyenne”列的末尾有一个值为零的>或<排序。 我不能在上一个ORDER BY中写入它,因为我希望表的ORDER BY RowNum

     SELECT 
         (SELECT COUNT(*) FROM orieps AS t2 
    WHERE (t2.Nbparcours > t1.Nbparcours ) 
    OR (t2.Nbparcours = t1.Nbparcours AND t2.Nberreurs < t1.Nberreurs  ) 
    OR (t2.Nbparcours = t1.Nbparcours AND t2.Nberreurs = t1.Nberreurs AND t2.Moyenne < t1.Moyenne  ) ) +1 
AS rowNum, Nom, Nbparcours, Nberreurs, Moyenne, Total , P1, P2, P3, P4, P5 
FROM  orieps t1 
    ORDER BY  RowNum ASC 
这就是我想要的:

 ROwNum|Nbparcours|Nberreurs|Moyenne
    1  |    2     |    1    |   3
    2  |    1     |    1    |  3.5
    3  |    1     |    1    |   0

先按Nbparcours排序,如果相等,则按Nberreurs排序如果相等,则按Moyenne排序,但最后为0。

您希望值
0
表现为一个大数字

因此,替换

... AND t2.Moyenne < t1.Moyenne

(在SQLite中,数字比任何字符串都小。)

您希望值
0
表现为一个大数字

因此,替换

... AND t2.Moyenne < t1.Moyenne

(在SQLite中,数字比任何字符串都小。)

你是个天才!!谢谢我不知道CASE(我是Sqlite的初学者),它工作得很好!再次感谢你是个天才!!谢谢我不知道CASE(我是Sqlite的初学者),它工作得很好!再次感谢
... AND CASE t2.Moyenne WHEN 0 THEN 'last' ELSE t2.Moyenne END
      < CASE t1.Moyenne WHEN 0 THEN 'last' ELSE t1.Moyenne END