gpt4 book ai didi

mysql - 获取未读消息的数量

转载 作者:行者123 更新时间:2023-11-29 15:38:06 25 4
gpt4 key购买 nike

我对我们的数据库有这样的要求,如下所示

我想获取 3 列 requestTypeCategoryGroupreadStatus 列的计数

结果将显示所有 requestType 以及 categoryGroup,如果 readStatus 为 false,则它将显示其计数,如果在同一个 requestType 中,所有 readStatus 均为 true,然后返回 0。

此外,如果 requestTypeNULL 并且在同一 categoryGroup 中为空白(从表 A 中,subcategoryId 12 和 13 来自同一 categoryGroup 在表 B) 中,那么 CategoryGroup 应显示为 BLANK,并且应保存 (readStatus=0) NULL 和 BLANK 的计数

Result count

我编写的查询仅返回与 readStatus=false 相关的列和计数,并显示其总计数。

select coalesce( m.requestType, "") as requestType,
count(m.messageId) as count,
s.categoryGroup categoryGroup
from mb_message m
join mb_subcategory s on m.subCategoryId = s.subCategoryId
where m.readStatus=0
and m.storeId = ?
and countryCode= ?
and m.modifiedDate >= ?
group by m.requestType, m.subCategoryId;

上述查询的预期结果是:

enter image description here

最佳答案

我会做这样的事情:

select
requesttype,
sum(cnt) as cnt,
categorygroup
from (
select
case when a.requesttype is null or a.requesttype = ''
then 'BLANK' else a.requesttype end as requesttype,
case when a.readstatus = 0 then 1 else 0 end as cnt,
b.categorygroup
from tablea a
join tableb b on b.subcategoryid = a.subcategoryid
) x
group by requesttype, categorygroup

关于mysql - 获取未读消息的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58011720/

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