gpt4 book ai didi

mysql - 如何选择一个变量为空而另一个变量不为空的观测值?

转载 作者:行者123 更新时间:2023-11-30 00:03:45 26 4
gpt4 key购买 nike

我需要以排除缺少某些值但具有其他值的行的方式从数据集中选择观察结果。例如,我有以下变量:

A、日期A、B、日期B、C、日期C

我需要排除 A 不为空但缺少 dateA 值或 B 不为空但缺少 dateB 值或 C 不为空但缺少 dateC 值的行。另外,因为我的变量是结构化的,因此它们可以是空值,所以我一直在使用以下代码来识别“空”观察:

WHERE dateA > '';

我不确定要在 select 语句中放入什么来完成此操作。任何帮助将非常感激!谢谢!

这里编辑一些示例数据:(抱歉格式尴尬)

观测----A-----日期A

1--------3-----2002-02-13 00:00:00

2--------8-----2009-12-19 00:00:00

3--------0

4--------7

我想要的结果是选择观测值 1、2 和 3,但不是 4,因为它缺少 dateA 的值,但具有 A 的值。应包含 3,因为尽管它缺少值对于 dateA,A 的值为 0。我还有其他变量 B、dateB、C 和 dateC 需要以相同的方式进行选择。

最佳答案

包含这些行,我们会这样做:

WHERE (A IS NOT NULL AND A != 0 AND dateA > '') 
OR (B IS NOT NULL AND B != 0 AND dateB > '')
OR (C IS NOT NULL AND C != 0 AND dateC > '');

要排除这些,我们可以简单地使用 NOT:

WHERE NOT(
(A IS NOT NULL AND A != 0 AND dateA > '')
OR (B IS NOT NULL AND B != 0 AND dateB > '')
OR (C IS NOT NULL AND C != 0 AND dateC > '')
);

编辑:更新以下问题澄清。

关于mysql - 如何选择一个变量为空而另一个变量不为空的观测值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24784496/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com