我想獲得在 2 個日期之間使用他們的卡(pas)N 次的用戶(Gebruiker)。
現在我嘗試使用它HAVING COUNT或它的一些變體來獲取一行包含外鍵的次數,并使用它來過濾掉在 2 個日期之間使用它至少 5 次的每個人。
這是我嘗試過但沒有日期的方法:
SELECT *, COUNT(Pas_pasnummer)
FROM gebruiker
INNER JOIN pas_has_poort ON gebruiker.gebruikernummer=pas_has_poort.Pas_pasnummer
HAVING COUNT(Pas_pasnummer) = '1'
這是我的資料庫:

uj5u.com熱心網友回復:
gebruiker.gebruikernummer不是 的外鍵pas_has_poort.Pas_pasnummer。您需要通過鏈接表pas。
您需要按 對查詢進行分組gebruikernummer。
然后你可以在pas_has_poort.
SELECT g.*, COUNT(*) AS use_count
FROM gebruiker AS g
JOIN pas AS p ON g.gebruikernummer = p.gebruikergebruikernummer
JOIN pas_has_poort AS pp ON p.pasnummer = pp.Pas_pasnummer
WHERE pp.inchecktijd BETWEEN @start_date AND @end_date
GROUP BY g.gebruikernummer
HAVING use_count >= 5
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/349049.html
標籤:mysql
