Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 计算表中的条目数_Sql_Count - Fatal编程技术网

Sql 计算表中的条目数

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

我有一张所有数据的表格

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 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