tianguozhiya
去你大爷的昵称已存在
采纳率100%
2017-08-18 06:52

关于sql的分组查询问题

已采纳

这是我的一个sql,我想要把state为on_publish的结果优先排在前面,但是其中state的状态还有on_close,on_connect等,请问我的sql应该怎么改

 SELECT 
  * 
FROM
  camera_info ci,
  live_schedule l,
  camera_status cs 
WHERE ci.`cameraId` = l.`cameraId` 
  AND ci.`cameraId` = cs.`cameraId` 
  AND LEFT(l.`creatTime`, 10) = CURDATE() 
ORDER BY cs.`state` = 'on_publish' DESC
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • qq_35728177 Tsui丶 4年前

    SELECT

    • FROM camera_info ci, live_schedule l, camera_status cs WHERE ci.cameraId = l.cameraId AND ci.cameraId = cs.cameraId AND LEFT(l.creatTime, 10) = CURDATE() ORDER BY case cs.state when 'on_publish' then 1 else 2 END 这是当为on_publish 时排第一 其他排后面
    点赞 评论 复制链接分享
  • qq_39360178 三人行我 4年前

    order by 后面跟变量

    点赞 评论 复制链接分享

为你推荐