使用COUNT查询仅返回计数为正数的记录

时间:2017-03-24 11:08:16

标签: sql sqlite count

大家好日子。

考虑关系SQLite数据库的这一部分:

楼层(号码) - 房间(号码,#floorNumber)

我的目标是查询每层楼的房间数量。这是我的尝试:

select floors.number, count(rooms.floornumber)
from floors, rooms where floors.number=rooms.floornumber
group by floors.number, rooms.floornumber;

示例:

1|5
2|7
3|5
4|3

问题是我还希望查询返回楼层包含0个房间的记录(例如楼层号码5存在于"楼层"表格中但不会在查询中显示结果)。

非常感谢您的协助。谢谢。

1 个答案:

答案 0 :(得分:2)

从不FROM子句中使用逗号。 始终使用正确的JOIN语法。

您需要LEFT JOIN,但由于查询的编写方式,您甚至无法看到所需内容。

select f.number, count(r.floornumber)
from floors f left join
     rooms r
     on f.number = r.floornumber
group by f.number;