2

是否可以将ORDER BYsql 语句中的值设置为您想要的值?例如,如果我想按以下顺序选择 Day 的值: Thu, Sat, Sun, Mon

SELECT * 
FROM `NFL_Games` 
WHERE Week = '1' 
ORDER BY Day
4

5 回答 5

7

case when您可以对个人订购使用条款...

order by
(case Day
 when 'Thu' then 1
 when 'Sat' then 2
 when 'Sun' then 3
 when 'Mon' then 4
 else 5 end), 
 Day
于 2013-10-11T17:42:41.340 回答
0

是的,您可以在ORDER BY

SELECT * FROM `NFL_Games` WHERE Week = '1' ORDER BY DAYOFWEEK( date_field )
于 2013-10-11T17:41:58.693 回答
0

Order by执行查询时处理的最后一个子句一样,是的,如果您的 select 语句具有 day 列(根据表 'NFL_Games' 中的日期计算或表具有列 'Day',您可以在最终的行中指定排序放。

于 2013-10-11T17:46:08.823 回答
0

像这样的东西会起作用..由于案例陈述可能有点烦人,但会完成这项工作。

SELECT *, 
       CASE fstrDay 
         WHEN 'Thursday' THEN 0 
         WHEN 'Friday' THEN 1 
         WHEN 'Saturday' THEN 2 
         WHEN 'Sunday' THEN 3 
         WHEN 'Monday' THEN 4 
         WHEN 'Tuesday' THEN 5 
         WHEN 'Wednesday' THEN 6 
       END AS flngOrder 
FROM   NFL_Games
WHERE  Week = '1'
ORDER  BY flngOrder ASC 
于 2013-10-11T17:55:43.393 回答
-2

这似乎完全合法;您还可以根据自己的喜好按升序或降序排序。

于 2013-10-11T17:42:26.883 回答