假设我有两个表:catu collection和catu mapping
cat_映射包含三个字段:id、collection_id和post_id
我希望能够从猫收集中选择所有的名字
SELECT name FROM cat_collection
以及它们在catu映射中被引用的次数
所以如果猫的藏品
| id | | name |
0 cat1
1 cat2
以及包含的cat U映射
| id | | collection_id | | post_id |
0 1 0
1 1 1
我怎么能回来
| name | | count |
cat1 0
cat2 2
解决方案
SELECT cc.name, (
SELECT COUNT( cm.collection_id )
FROM cat_mapping AS cm
WHERE cm.collection_id = cc.id
) AS `count`
FROM cat_collection AS cc
最佳答案
我想这样的子查询可以做到:
SELECT cc.name, (SELECT COUNT(cm.id) FROM cat_mapping cm WHERE cm.collection_id = cc.id) AS cnt
FROM cat_collection cc
关于mysql - mysql返回一个值及其从映射表中引用的次数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7829524/