Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.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
使用SQL Order BY对给定元素进行排序_Sql_Relational Database_Sql Order By - Fatal编程技术网

使用SQL Order BY对给定元素进行排序

使用SQL Order BY对给定元素进行排序,sql,relational-database,sql-order-by,Sql,Relational Database,Sql Order By,鉴于: 我需要对它们进行排序,以便ID=111的所有项目在返回的数据集中排在最后 例如,它可能会返回: SELECT projectID, urlID, COUNT(1) AS totalClicks, projectPage, (SELECT COUNT(1) FROM tblStatSessionRoutes, tblStatSessions WHERE tblStatSessionRoutes.statSessionI

鉴于:

我需要对它们进行排序,以便ID=111的所有项目在返回的数据集中排在最后

例如,它可能会返回:

  SELECT projectID, urlID, COUNT(1) AS totalClicks, projectPage,
         (SELECT COUNT(1)
           FROM   tblStatSessionRoutes, tblStatSessions
           WHERE  tblStatSessionRoutes.statSessionID = tblStatSessions.ID
           AND    tblStatSessions.projectID = tblAdClicks.projectID
           AND    (tblStatSessionRoutes.leftPageID = tblAdClicks.projectPage OR
                 tblStatSessionRoutes.rightPageID = tblAdClicks.projectPage)) AS totalViews
  FROM   tblAdClicks
  WHERE  projectID IN (SELECT projectID FROM tblProjects WHERE userID = 5)
  GROUP  BY projectID, urlID, projectPage
但是我需要所有的111都显示在列表的末尾,而不需要使用两个查询,一个选择111,另一个选择其余的。不幸的是,这不够好,因为这是一个资源密集型查询。

添加

Project ID
---------
100
100
100
156
156
143
122
111
111
111
190
154
87


你到底想在什么基础上看到111。它总是硬编码到111,还是有一些条件来推导这个数据,这些数据应该在最后出现?我只是用它作为一个例子,值将被替换为我代码中的一个变量。嗯,我告诉你!您使用的是非版税免费图像。。。嗯!!!你到底想在什么基础上看到111。它总是硬编码到111,还是有一些条件来推导这个数据,这些数据应该在最后出现?我只是用它作为一个例子,值将被替换为我代码中的一个变量。嗯,我告诉你!您使用的是非版税免费图像。。。嗯!!!非常感谢!但对于列表的末尾,另外1个0才是有效的:)我发现。。。最终;)或者你可以说“然后0其他1结束描述”,但这并不清楚,谢谢!但对于列表的末尾,另外1个0才是有效的:)我发现。。。最终;)或者你可以说“然后0,否则1结束描述”,但这并不清楚。
ORDER BY
 CASE projectID WHEN 111 THEN 1 ELSE 0 END,
 projectID /* etc... */
order by cast (projectID as integer)