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 exsi重置后登不上
  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?
  • ¥15 电磁场的matlab仿真
  • ¥15 mars2d在vue3中的引入问题
  • ¥50 h5唤醒支付宝并跳转至向小荷包转账界面