考虑下面的例子:-
包含贷款和状态列以及记录的表格。
Loan Status
--------------
Loan1 NULL
Loan1 Critical
Loan1 Moderate
Loan2 NULL
Loan3 NULL
Loan3 Critical
Loan4 Critical
Loan5 Moderate
我需要获取 NULL
状态记录列表。由于 Loan1
和 Loan3
被分配了 NULL
和 Critical
。所以我需要从我的 MySQL 查询中排除这两项贷款。
尝试使用以下查询:
Select * from table where Status is not null ;
这导致我有 3 条错误的记录。有人可以帮助我了解如何考虑上述要求。
我确实尝试过自己加入这个作品,但正在寻找更好的解决方案
更新问题:- 我如何报告关键和中等状态贷款的总数。
通过使用 max(status) 我只能获得中等记录。 但是,如果贷款同时具有中等和关键状态;严重的需要报告。 我如何才能将 loan1 报告为中等
输出:-
NULL Critical Moderate
1 3 1
NULL - 状态为 NULL 的总贷款 - loan2
Critical - 状态为 Critical 的贷款总数 - loan1、loan3、loan4
中等 - 状态为中等的贷款总数 - loan5
最佳答案
类似于:
SELECT SUM(t.is_null) `null`
SUM(t.is_critical) critical
SUM(t.is_moderate) moderate
FROM (
SELECT NOT SUM(status IS NOT NULL) is_null
SUM(status='critical') AND TRUE is_critical
SUM(status='moderate') AND NOT SUM(status = 'critical') is_moderate
FROM table
GROUP BY loan
) t
关于mysql - 只考虑 NULL 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25911318/