MYSQL - SELECT NULL 否则为每个组的最新日期

开发

我的数据库中有以下数据:

| ID   | FK_ID  | MODEL | DATE              | 
+------+--------+-------+-------------------+
|1     | 11     | m1    |NULL               |
|2     | 11     | m1    |NULL               |
|3     | 11     | m2    |2019-05-08 12:04:24|
|4     | 11     | m2    |2019-05-08 12:07:43|
|5     | 11     | m2    |2019-05-08 12:08:37|
|6     | 11     | m3    |2019-05-08 12:13:19|
|7     | 11     | m3    |NULL               |
|8     | 12     | m7    |2019-05-08 12:04:14|

我想获得每个模型的最新日期,但是如果模型的日期为空,那么我想获得 NULL 而不是最新日期。

预期产出

| MODEL | DATE              |
+-------+-------------------+
| m1    |NULL               |
| m2    |2019-05-08 12:08:37|
| m3    |NULL               |

我尝试了以下查询:

SELECT MODEL, DATE FROM MODEL_TABLE
WHERE FK_ID = 11 AND (DATE IN ( 
    SELECT MAX(DATE)
    FROM MODEL_TABLE
    GROUP BY MODEL
) OR DATE IS NULL)
GROUP BY MODEL;

但我得到以下结果:

实际输出(错误)

| MODEL | DATE              |
+-------+-------------------+
| m1    |NULL               |
| m2    |2019-05-08 12:08:37|
| m3    |2019-05-08 12:13:19|

有人可以让我知道如何更正查询以获取预期结果

贾尔

count(*)计算所有行,count(date)计算非空值。如果它们相同,则不存在null,即返回max(date),否则返回null。

SELECT MODEL, case when count(*) = count(DATE) then max(DATE) end
FROM MODEL_TABLE
group by MODEL

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

获取MySQL组中的最新日期

来自分类Dev

如果行存在,则为MySQL;否则为SELECT

来自分类Dev

PHP MYSQL SELECT返回NULL

来自分类Dev

Mysql SELECT CASE LIKE给出NULL行

来自分类Dev

在MySQL SELECT查询中还包括NULL行

来自分类Dev

MySQL SELECT * FROM(包括NULL值)

来自分类Dev

MySQL SELECT COUNT组

来自分类Dev

带有LEFT JOIN的MySQL SELECT意外将NULL插入每个分区的第一行

来自分类Dev

MySQL SELECT遍历日期

来自分类Dev

MYSQL:仅根据日期返回每个组的最新记录

来自分类Dev

MySQL联接:从子表中选择一行满足条件,否则为NULL

来自分类Dev

MySQL选择最新日期-单表

来自分类Dev

MySQL SELECT列FROM表WHERE列为NULL

来自分类Dev

PHP MySQL的覆瓦状排列的SELECT语句返回null

来自分类Dev

在SELECT中使用时,CASE'NOT NULL'的mysql语法

来自分类Dev

在 Select Mysql 中反应日期

来自分类Dev

MySQL:如何选择某个日期之前的最新日期的记录

来自分类Dev

SQL Select Distinct列和最新日期

来自分类Dev

SQL Select Distinct列和最新日期

来自分类Dev

根据每个组的最新日期查找组的均值

来自分类Dev

MySQL Select Group by显示最新帖子

来自分类Dev

MYSQL SELECT最新的ID和ORDER BY

来自分类Dev

MySQL查询内部联接的最新日期(今天,昨天或之前)

来自分类Dev

如何在MySql中选择最新日期?

来自分类Dev

mysql按升序获取最新日期记录

来自分类Dev

如何在MySql中选择今天之前的最新日期?

来自分类Dev

mysql - 如何从以下结果中仅获取最新日期?

来自分类Dev

无法在MySQL的日期字段中插入NULL

来自分类Dev

MySQL按日期排序,首先为NULL