Skip to main content
 首页 » 编程设计

sql之MySQL 语句结合了连接和计数

2024年11月01日17qq78292959

我有一张“文件夹”表。我想返回 userId 为 16 的所有记录。

SELECT * FROM `folders` WHERE userId = 16; 

我有一张"file"表。对于上面返回的每个“文件夹”,我想返回该“文件夹”中的"file"计数。
SELECT COUNT(*) as "Files" FROM files WHERE Folder = n; 

我如何结合这些?我迷路了。谢谢!

请您参考如下方法:

SELECT  fol.* 
 ,      (       SELECT  COUNT(*) 
                FROM    files           fil 
                WHERE   fil.Folder      = fol.Folder 
        )       AS      "Files" 
FROM    folders         fol 
WHERE   fol.userId      = 16 

它被称为相关子查询。

http://dev.mysql.com/doc/refman/5.1/en/correlated-subqueries.html