gpt4 book ai didi

mysql - 此任务的有效查询是什么

转载 作者:行者123 更新时间:2023-11-29 21:05:31 26 4
gpt4 key购买 nike

我有一个如下所示的数据文件

item_id  |  status
1 | null
2 | null
2 | new
3 | new
4 | null
4 | new
5 | null

请注意,项目 2 和 4 都有 2 个状态:null 和 new。我想创建一个仅提取状态为 1(为空)的 item_id 的查询。所以,我希望我的查询仅提取 1 和 5。

我最终这样做了,但这看起来效率不高:

1.列出状态为null的项目

create table query_1 as
select * from table1 where status = 'null';

2.列出具有新状态的项目

create table query_2 as
select * from table1 where status = 'new';

3.选择查询 1 中的所有结果,排除从查询 2 的结果中找到的任何 id

select * from query_1 where item_id not in (select item_id from query_2)

我是不是想多了?是否有更简单的查询可以完成此任务?

最佳答案

首先,您必须使用 IS NULL 检查空值。 =null='null' 不起作用。

SELECT item_id, MAX(status)
FROM table1
GROUP BY item_id
HAVING MAX(status) IS NULL

关于mysql - 此任务的有效查询是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36850222/

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