統計として、各国の「最高の生産者」を示したいと思います。犬と所有者の 2 つのテーブルがあります。所有者には国があり、犬には他のすべての必需品があります。dog.id が父親の ID である頻度を数えます。
指定された1つの国について、私は
$result = mysql_query("
SELECT
dog.father_id, dog1.id, dog1.dogname, dog1.owner_id, dog.date_of_birth,
COUNT(dog.father_id) anzahl,
owner.country_short
FROM
dog
LEFT JOIN dog as dog1 ON
(dog.father_id = dog1.id)
LEFT JOIN owner ON
(dog1.owner_id = owner.id)
WHERE dog.father_id !=0
AND dog1.date_of_birth >= DATE_SUB(CURDATE(), INTERVAL 10 YEAR)
AND owner.country_short ='de'
AND owner.kennel_note =''
GROUP BY
dog.father_id
ORDER BY
anzahl DESC
LIMIT 3
", $db) OR die(mysql_error());
while($row = mysql_fetch_array($result))
{ ....
国ごとにどうすればよいですか(データベースから自動取得)?SET @ を使用したソリューションでは、解析エラーが発生します。助けてくれてどうもありがとう。