Sql 计算表中的条目数
我有一张所有数据的表格 id name 1 meat 2 chicken 3 fish 4 chicken 5 fish 6 chicken 我想到了这个问题:Sql 计算表中的条目数,sql,count,Sql,Count,我有一张所有数据的表格 id name 1 meat 2 chicken 3 fish 4 chicken 5 fish 6 chicken 我想到了这个问题: Select count(*) from allData group by name 不确定如何与相关数据关联。有什么想法吗?你可以试试下面的方法 SELECT COUNT(*) FROM allData WHERE name in (SELECT na
Select count(*) from allData group by name
不确定如何与
相关数据关联。有什么想法吗?你可以试试下面的方法
SELECT COUNT(*) FROM allData WHERE name in (SELECT name from relevantData) GROUP BY name
改变观点,你对相关数据感兴趣,这是你查询的基础。您可以使用相关子查询,无需使用联接或分组方式:
SELECT rd.name,
(SELECT COUNT(*) FROM allData ad WHERE rd.name = ad.name) AS Count
FROM relevantData rd
只需将它们连接在一起:
SELECT a.id, a.name, COUNT(*) AS CntCol
FROM allData a
INNER JOIN relevantData r ON a.name = r.name
GROUP BY a.id, a.name
试试这个:
SELECT a.name, Count(1) AS TotalCount
FROM allData a
WHERE EXISTS(SELECT TOP 1 1 FROM relevantData WHERE a.name = name)
GROUP BY a.name
只需按id对它进行分组,并检查它是否包含在相关数据中提示:加入这两个表,然后使用您的查询,因为您实际上不需要所有数据中的数据
只需计算相关数据中出现的次数
id name
1 meat
2 fish
SELECT a.name, Count(1) AS TotalCount
FROM allData a
WHERE EXISTS(SELECT TOP 1 1 FROM relevantData WHERE a.name = name)
GROUP BY a.name