您好,匿名用户
随意问技术百科期待您的加入

MySQL数据排序

0 投票
SELECT c.WORK_DATE,
       c.ONDUTY_TIME,
       c.OFFDUTY_TIME,
       group_concat(d.start_date) startDate,
       group_concat(d.end_date) endDate,
       group_concat(d.duty_explain) dutyExplain,
       group_concat(d.duty_status_id) dutyStatusId
  FROM    (SELECT a.WORK_DATE,
                  a.ONDUTY_TIME,
                  a.OFFDUTY_TIME,
                  b.DUTY_APPLY_ID
             FROM    (SELECT ONDUTY_TIME,
                             OFFDUTY_TIME,
                             WORK_DATE,
                             SEQ_ID
                        FROM tbl_duty
                       WHERE     USER_ID = 'xiaodong'
                             AND WORK_DATE >= '2012/3/20 星期二 0:00:00'
                             AND WORK_DATE <= '2012/3/29 星期二 0:00:00') a
                  LEFT JOIN
                     tbl_duty_to_apply b
                  ON a.seq_id = b.DUTY_ID) c
       LEFT JOIN
          tbl_duty_apply d
       ON c.DUTY_APPLY_ID = d.SEQ_ID
GROUP BY c.WORK_DATE;

这段sql 我想按照c.WORK_DATE倒叙排列,我要往哪加排序的sql语句呢 自己加了总是出错,主要是SQL是别人帮写的,现在急着要加排序。。。感谢!

用户头像 提问 2012年 12月1日 @ Kha'Zix 上等兵 (269 威望)
分享到:

1个回答

0 投票
 
最佳答案

理论上,家在 GROUP BY 之后

SELECT c.WORK_DATE,
       c.ONDUTY_TIME,
       c.OFFDUTY_TIME,
       group_concat(d.start_date) startDate,
       group_concat(d.end_date) endDate,
       group_concat(d.duty_explain) dutyExplain,
       group_concat(d.duty_status_id) dutyStatusId
  FROM    (SELECT a.WORK_DATE,
                  a.ONDUTY_TIME,
                  a.OFFDUTY_TIME,
                  b.DUTY_APPLY_ID
             FROM    (SELECT ONDUTY_TIME,
                             OFFDUTY_TIME,
                             WORK_DATE,
                             SEQ_ID
                        FROM tbl_duty
                       WHERE     USER_ID = 'xiaodong'
                             AND WORK_DATE >= '2012/3/20 星期二 0:00:00'
                             AND WORK_DATE <= '2012/3/29 星期二 0:00:00') a
                  LEFT JOIN
                     tbl_duty_to_apply b
                  ON a.seq_id = b.DUTY_ID) c
       LEFT JOIN
          tbl_duty_apply d
       ON c.DUTY_APPLY_ID = d.SEQ_ID
GROUP BY c.WORK_DATE
ORDER BY c.WORK_DATE DESC;
用户头像 回复 2012年 12月1日 @ Skarner 上等兵 (193 威望)
选中 2012年 12月1日 @Kha'Zix
提一个问题:

相关问题

0 投票
1 回复 22 阅读
0 投票
1 回复 29 阅读
用户头像 提问 2013年 12月23日 @ Shyvana 上等兵 (214 威望)
0 投票
1 回复 72 阅读
用户头像 提问 2012年 12月1日 @ Pisces 上等兵 (182 威望)
0 投票
1 回复 36 阅读
0 投票
0 回复 6 阅读
用户头像 提问 2014年 6月3日 @ 匿名用户

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...