MYSQL查询使用count函数

时间:2016-11-28 19:46:27

标签: mysql sql

这是一个我必须从存储直接图的数据库中检索的函数。我有一个带有columsn,图形名称和graphID的图表。和一个节点表,其中包含列nodeid,graphid,并具有exitnode和entrynodes。我尝试使用count语句来计算每个图形必须返回名称的节点数,但它会一直返回空集。有人可以查看我的查询并告诉我我做错了什么。

SELECT
    graphName
  FROM 
    graphs 
  WHERE graphID 
    IN ( 
      SELECT 
         graphID 
       FROM 
         nodes 
       WHERE count(entryNode, exitNode) = 2
    );

1 个答案:

答案 0 :(得分:0)

您可以使用nodeid:

SELECT g.graphName, COUNT(DISTINCT nen.nodeid), COUNT(DISTINCT nex.nodeid)
FROM graphs g
  JOIN nodes nen on nen.graphID = g.graphID AND nen.entryNode=1
  JOIN nodes nex on nex.graphID = g.graphID AND nex.exitNode=1
GROUP BY g.graphName
HAVING COUNT(DISTINCT nen.nodeid)=2 and COUNT(DISTINCT nex.nodeid)=2