gpt4 book ai didi

MySql如何在找不到值时显示零

转载 作者:行者123 更新时间:2023-11-29 04:21:00 25 4
gpt4 key购买 nike

我有这个查询:

SELECT ent_video_tipo, count(ent_video_tipo) as cnt 
FROM entradas
WHERE entradas.ent_user= '1'
GROUP BY ent_video_tipo
ORDER BY cnt DESC

这会给我:

ent_video_tipo|cnt
3 | 3
1 | 3
4 | 1
2 | 1

当我这样做的时候

SELECT ent_video_tipo, count(ent_video_tipo) as cnt 
FROM entradas
WHERE entradas.ent_user= '2'
GROUP BY ent_video_tipo
ORDER BY cnt DESC

我明白了

ent_video_tipo|cnt
1 | 4
2 | 2
3 | 2

我想在 ent_video_tipo = 4 中获得零分。像这样

ent_video_tipo|cnt
1 | 4
2 | 2
3 | 2
4 | 0

ent_video_tipo 有自己的表:

type_id|type_name
1 | a
2 | b
3 | c
4 | d

最佳答案

好的,因为 ent_video_tipo 有自己的类型,你可以使用左连接作为

SELECT 
evt.type_id,
coalesce(count(e.ent_video_tipo),0) as cnt
FROM ent_video_tipo evt
left join entradas e on e.ent_video_tipo = evt.type_id
AND e.ent_user= '2'
GROUP BY evt.type_id
ORDER BY cnt DESC ;

DEMO

更新这是另一种方式

select
evt.type_id,
coalesce(cnt,0) as cnt
from ent_video_tipo evt
left join
(
select
ent_video_tipo,
count(ent_video_tipo) as cnt
FROM entradas
WHERE ent_user= '2'
GROUP BY ent_video_tipo
)e
on e.ent_video_tipo = evt.type_id

DEMO

关于MySql如何在找不到值时显示零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24352161/

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