php - SQL查询计数问题

标签 php mysql sql

我有两个表artistmembers。艺术家与成员(member)之间有零到多的关系。 (一位艺术家可能有 0 名或多名成员(member))

所以,我想获取艺术家的所有领域以及他拥有的成员(member)总数。

我编写了一个查询,但是,如果表中没有艺术家(艺术家表为空),它会返回 0 计数。我正在使用这个查询

SELECT a.artistname, count(m.id) as total 
    FROM artist a, members m 
    WHERE m.artist_id = a.id

如果没有艺术家,它不应该返回任何内容。

谢谢!

Please check the result in image

最佳答案

我假设您的字段名称是 artist 表中的 artistname

查询应该像这样:

SELECT artist.artistname, COUNT(members.id) AS total_members
FROM artist
LEFT JOIN members ON members.artis_id = artist.id
GROUP BY artist.artistname

使用 join,要使用 sql count,您需要使用 group by

关于php - SQL查询计数问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22594996/

相关文章:

php - 有没有办法从 php 构建 android 源代码?

php - 从Mysql中抓取结果,将链接内容转换为XML,然后输出

php - cakephp 中缺少 Controller

MYSQL Join - 父子表join,只获取子表的最新记录

mysql - 如何通过 MySQL 查询将所有数据从一个模式插入到另一个模式?

mysql - 帮助提高查询性能

mysql - UPDATE JOIN 表,数学运算只发生在单个(最后?)行

php - mysql仅在post包含数据的情况下更新数据

PHP/MYSQL 使用盐密码验证用户登录?

php - 如果存在符合条件的相应行,则选择行?