【问题标题】:MYSQL, how can I get rows in conditionsMYSQL,如何获取条件行
【发布时间】:2021-08-11 09:02:59
【问题描述】:

我有一个结构role_approvers:

id, role_id, level, user_id, approval_date

行:

4116, 1300, 1, 1158, 2021-05-28 14:24:34
4117, 1300, 1, 1186, NULL
4596, 1300, 2, 21, NULL

我需要获得 MIN 级别,其中 role_id = 1300 并且此级别上的所有批准日期都应为 NULL

所以在这种情况下,我需要获得 level = 2,但我不知道如何获得它,有人可以帮忙查询

【问题讨论】:

    标签: mysql sql group-by sql-order-by sql-null


    【解决方案1】:

    您可以筛选role_id = 1300 的表,按level 分组,在HAVING 子句中设置所有日期为null 的条件并返回顶层:

    SELECT level
    FROM role_approvers
    WHERE role_id = 1300
    GROUP BY level
    HAVING MAX(approval_date) IS NULL
    ORDER BY level LIMIT 1
    

    请参阅demo

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-10
      • 1970-01-01
      • 2015-07-09
      • 2013-12-22
      • 1970-01-01
      • 2012-12-17
      • 2023-03-05
      相关资源
      最近更新 更多