mysql - 计算条目中的空值(列)
问题描述
我有下表:
ID | SPNR | SP1 | SP2 | SP2 |
---|---|---|---|---|
01 | 2 | X | X | |
02 | 2 | X | ||
03 | 3 | X | X | |
04 | 2 | X | ||
05 | 3 | X | X | X |
SPNR 是所需的 SP 量。
第一个记录没问题。在第二个你需要 2 但只有一个。在第三个中,需要 3 个,并且只有两个。
我需要一个查询,列出不符合条件的记录 (ID = 2 ,3, 4)
我对 MYSQL 比较陌生,找不到同一记录的“count if”选项。有人可以对我有所了解。
解决方案
您可以在此处使用布尔求和表达式:
SELECT *
FROM yourTable
WHERE (SP1 IS NULL) + (SP2 IS NULL) + (SP3 IS NULL) != SPNR;
推荐阅读
- node.js - 如何为 Microsoft Bot 配置自定义终结点
- vba - 使用vba绕过IE浏览器消息“要再次显示网页,网络浏览器需要重新发送信息”
- android - Android - 在布局中膨胀视图使我的布局透明 - 如何阻止这种情况?
- c# - 在 C# 中将 Moq 与 NUnit 一起使用
- c# - 如何在网格视图中使用 Ajax 日历来禁用过去的日期
- java - 自动接线在spring-boot中供应商接口的覆盖`get()`方法中不起作用
- apache-spark - DataFrame的rdd无法更改Spark Structured Streaming python中的分区号
- javascript - 无法解析 JSON 的字符串属性中存在的 XML
- r - 如何识别除一列之外的重复项,并用 max 替换该列
- javascript - 拾取半径范围内的食物对象