0

と の 2 つのテーブルがPeopleありWritingsます。最も多くの本を書いた 3 人のリストを取得したいと思います。

テーブル: ここに画像の説明を入力

最も多くの本を書いている上位 3 人を取得したいと思います (本 = テーマ)。そして、彼らは最も多いものから最も少ないものへと並べられるべきです (私はそれらの 3 人を意味します)。

私はこのようにそれをやろうとしました:

SELECT People.Name, People.Secondname,     
  People.City, COUNT( Writings.Author)  AS Kiekis       
FROM Writings, People 
WHERE  CONCAT (People.Name, ' ',People.Secondname) = Writings.Author 
GROUP BY Kiekis DESC LIMIT 3; 
4

1 に答える 1

1
SELECT Author, COUNT(*)
FROM People, Writings 
WHERE CONCAT (People.Name, ' ',People.Secondname) = Writings.Author 
GROUP BY Author 
ORdER BY COUNT(*) DESC 
LIMIT 3

しかし、テーブル間の本当に奇妙な結合です。つまり、最初のテーブルで author_id を使用する方が良いでしょう。

于 2013-11-07T20:40:15.580 に答える