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日

悬赏问题

  • ¥30 VMware 云桌面水印如何添加
  • ¥15 用ns3仿真出5G核心网网元
  • ¥15 matlab答疑 关于海上风电的爬坡事件检测
  • ¥88 python部署量化回测异常问题
  • ¥30 酬劳2w元求合作写文章
  • ¥15 在现有系统基础上增加功能
  • ¥15 远程桌面文档内容复制粘贴,格式会变化
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”