SQL多重排序和分组(SQL Multiple sorting and grouping)

2019-09-26 08:46发布

编辑:我使用DQL

我在寻找与SQL查询的帮助。

我的表有电影列表,每一个标题,SERIESNAME和seriesNumber。 是否有可能命令他们这样的标题列出AZ,但是当一个系列时,该系列组合在一起,与SERIESNAME被放在字母就好像它是在矿井movieTitle列,并在一系列的条目由seriesNumber订购。

不好解释,但基本上我想是这样的:

MovieTitle                  SeriesName          SeriesNumber
Blade Runner                NULL                NULL
District 9                  NULL                NULL
Hot Fuzz                    NULL                NULL
I am Legend                 NULL                NULL
Fellowship of the Ring      Lord of the Rings   1
Two Towers, The             Lord of the Rings   2
Return of the King          Lord of the Rings   3
Lost in Translation         NULL                NULL
Matrix, The                 Matrix              1
Matrix Reloaded, The        Matrix              2
Matrix Revolutions, The     Matrix              3
Requiem for a Dream         NULL                NULL
This is Spinal Tap          NULL                NULL
Zodiac                      NULL                NULL

提前致谢。

Answer 1:

SELECT * FROM x
ORDER BY CASE 
   WHEN SeriesName is NOT NULL THEN SeriesName ELSE MovieTitle  END
   , SeriesNumber

您可能需要做这种方式

SELECT * FROM(
  SELECT *, CASE WHEN SeriesName is NOT NULL THEN SeriesName ELSE MovieTitle END SortOrder  FROM x
)
ORDER BY SortOrder,SeriesNumber


文章来源: SQL Multiple sorting and grouping
标签: sql doctrine dql