请写出如下postgresql 在一个user表中,查出创建时间在2023年3月以后,以username分组,每组没有同时拥有age等于18岁和age等于19岁的组有多少个,只需要最终数量
时间: 2024-02-11 16:08:10 浏览: 15
好的,以下是相应的SQL查询语句,只返回最终的用户组数量:
```
SELECT COUNT(*) AS group_count
FROM (
SELECT COUNT(DISTINCT age) AS age_count
FROM user
WHERE created_at >= '2023-03-01'
GROUP BY username
HAVING COUNT(DISTINCT age) < 2
) AS subquery;
```
这条SQL语句中,我们使用了一个子查询来计算没有同时拥有age等于18岁和age等于19岁的用户组数量。首先,我们使用WHERE子句来筛选出创建时间在2023年3月以后的用户记录,并使用GROUP BY子句将结果按照username字段进行分组。然后,我们使用HAVING子句来过滤掉那些同时拥有age等于18岁和age等于19岁的用户组,并计算剩余的用户组数量。最后,我们在外层查询中使用COUNT函数来计算子查询的结果行数,即为最终的用户组数量。
查询结果将会显示一个整数值,表示没有同时拥有age等于18岁和age等于19岁的用户组数量。
相关问题
请写出如下postgresql 在一个user表中,查出创建时间在2023年3月以后,以username分组,每组没有同时拥有age等于18岁和age等于19岁的组有多少个
以下是查询语句:
```
SELECT username,
COUNT(*) as group_count
FROM user
WHERE created_at >= '2023-03-01'
GROUP BY username
HAVING NOT EXISTS (
SELECT 1
FROM user u
WHERE u.username = user.username
AND age = 18
) OR NOT EXISTS (
SELECT 1
FROM user u
WHERE u.username = user.username
AND age = 19
)
```
这个查询语句的含义是首先从user表中筛选出创建时间在2023年3月以后的用户,然后按照用户名进行分组。然后使用HAVING子句来过滤掉同时拥有18岁和19岁的用户组,最后统计剩余的用户组数量。
注意:这个查询语句仅供参考,具体的逻辑需要根据实际业务需求进行调整。
请写出如下postgresql 在一个user表中,查出创建时间在2023年3月以后,以username分组,每组既拥有age等于18岁又拥有age等于19岁的组有多少个
可以使用如下的SQL语句来实现:
```
SELECT COUNT(*)
FROM (
SELECT username
FROM user
WHERE age = 18 OR age = 19
AND create_time >= '2023-03-01'
GROUP BY username
HAVING COUNT(DISTINCT age) = 2
) AS subquery;
```
其中,内层子查询首先筛选出了所有创建时间在2023年3月以后、既拥有age等于18岁又拥有age等于19岁的用户组,并使用GROUP BY语句将它们按照username进行了分组。最后,外层SELECT语句对内层子查询的结果集进行了统计,得到了符合条件的用户组的数量。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)