这是我必须从存储直接图形的数据库中检索的功能。我有一个带有列,图形名称和graphID的图形表。以及一个节点表,该表的列为nodeid,graphid,并且具有exitnode和entrynodes。我尝试使用count语句来计算每个图必须返回名称的节点数,但是它一直返回空集。有人可以查看我的查询并告诉我我在做什么错。
SELECT
graphName
FROM
graphs
WHERE graphID
IN (
SELECT
graphID
FROM
nodes
WHERE count(entryNode, exitNode) = 2
);
最佳答案
您可以使用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
关于mysql - MYSQL查询使用计数功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40852286/