Mariadb

選擇與另一個表中計數相同的條目

  • July 7, 2016

我正在使用 SELECT 語句來選擇多個 ID,然後使用

GROUP BY ID
HAVING COUNT(*) = someNumber

只有具有一定數量的ID。

然而,我實際上想要做的是選擇所有那些在另一個表中具有相同計數的 ID。我嘗試了以下一些變體,但無法獲得我想要的結果。

GROUP BY ID
HAVING COUNT(*) = (SELECT COUNT(entryName_ID) FROM entryNames)

甚至可以做我想做的事嗎?如果是這樣怎麼辦?

如果我正確理解您的要求,您可以嘗試這樣的事情。

這將從每個 ID 獲取計數table1table2然後僅返回 T1.ID 計數與第二個表匹配的那些記錄

SELECT T1.ID FROM
(
   SELECT ID,Count(*) c 
   From Table1 GROUP BY ID
) T1
INNER JOIN 
(
    SELECT ID,Count(*) c 
    From Table2 GROUP BY ID
) T2
ON T1.ID = T2.ID AND T1.c = T2.c

引用自:https://dba.stackexchange.com/questions/143236