Sunset、筱虎 2021-08-19 16:30 采纳率: 70%
浏览 64
已结题

MySQL查询一个表,先按条件查询出一些字段排序然后其他数据再按照条件进行排序。

消息表,需要把待审核的消息置顶,置顶的待审核消息是通过一个state的状态字段和update_time字段更新时间为空则判断其为待审核数据的,将其按create_time创建时间排序,其他的消息数据直接按照创建时间排序即可,
这里待审核有两种 一种是状态为待审核但是没有更新时间 一种是状态为待审核和但是有更新时间

SQL该怎么写

  • 写回答

4条回答 默认 最新

  • Sunset、筱虎 2021-08-19 17:12
    关注
    SELECT *
        FROM sys_news
                WHERE state = 3 AND update_time IS NULL
                ORDER BY create_time DESC
    

    置顶数据

        SELECT *
        FROM sys_news
                WHERE state != 3 || ( state = 3 AND update_time IS NOT NULL)
                ORDER BY create_time DESC
    

    非置顶数据
    怎么拼接成一条语句

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 8月27日
  • 已采纳回答 8月19日
  • 创建了问题 8月19日