使用COUNT(*)连接MySQL

使用COUNT(*)连接MySQL,mysql,join,count,Mysql,Join,Count,我想今天不是我的日子-对不起,但我还有另一个问题(*): 我有一个简单的问题: SELECT * FROM domains LEFT JOIN subpages ON subpages.domainid = domains.id WHERE domains.id = 293 AND subpages.seitenart = 'Startseite' 它的作品完美,但我还需要一个额外的 SELECT COUNT(*) AS total FROM subpages WHERE subpage

我想今天不是我的日子-对不起,但我还有另一个问题(*):

我有一个简单的问题:

SELECT * FROM domains 
LEFT JOIN subpages ON subpages.domainid = domains.id 
WHERE domains.id = 293 
AND subpages.seitenart = 'Startseite'
它的作品完美,但我还需要一个额外的

SELECT COUNT(*) AS total FROM subpages WHERE subpages.statussub = '1' AND subpages.domainid = 293
好的,为了更好地理解: 我有表“域”和表“子页面”。现在我想显示一个域的Domaindetails,其中我需要域表和子页表以及字段subpages.seitenart=“StartSite”

此外,我还必须计算subpages表中的所有子页面,其中subpages.statussub='1'

希望这是更好的解释

有人能帮忙吗

谢谢,
Sascha

如果您不想将计数限制为seitenart='startsite',请尝试:

SELECT domains.*, COUNT(s1.<column_name>) as total
FROM subpages s1, domains LEFT JOIN subpages s2 ON s2.domainid = domains.id
WHERE domains.id = 293
AND s2.seitenart = 'Startseite'
AND s1.statussub = '1'
AND s1.domainid = domains.id
选择域。*,将(s1.)计为总数
从子页面s1开始,域左连接s2上的子页面s2。domainid=domains.id
其中domains.id=293
和s2.seitenart='startsite'
和s1.statussub='1'
和s1.domainid=domains.id

您不能在第一个查询中将第二个select作为select吗?您所说的“额外需要”是什么意思?只需另外运行查询:)我建议将该计数查询作为单独的select,而不是使用sql技巧将这两个查询合并为一个。@SiteSafeNL-好的,我会的try@anubhava:这不是专业的方式…你是对的,我不想将计数限制为seitenart=“startsite”,但你的查询我得到了一个错误,即“字段列表中的未知列s1”-如果我将count(s1)更改为count(s1.*),那么我需要一个group by?!有什么帮助吗?我搞错了-我认为您不能在count()函数中使用s1.*。请尝试使用s1.subpage_id或子页面表上的任何唯一id。