使用count时SQL查询返回0

我需要得到这样的查询:

姓名 数数
3
女王 1
单身的 0

回答

你有几个问题。首先,您需要LEFT JOINbedTypetoroom_bed确保您在输出结果中获得所有床位类型。其次,您不能LEFT JOINWHERE子句中对ed 表设置条件;否则,您将其转换LEFT JOIN为一个INNER JOIN(请参阅手册)。将您的查询更改为:

SELECT b.bedTypeName AS Name, COUNT(r.id) AS `Count`
FROM bedType b
LEFT JOIN room_bed r ON b.ID = r.bedTypeID AND r.roomID = 3
GROUP BY b.bedTypeName

输出:

Name    Count
King    3
Queen   1
Single  0

db-fiddle 上的演示


以上是使用count时SQL查询返回0的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>