1

タイトル、アーティストの数をリストするmysqlクエリがあります

SELECT count(Key) AS Ocount, artist, title,domain, DATE_FORMAT(`FE`,'%m') AS eMonth
FROM gr 
WHERE domain = 'site.com'
GROUP BY title
ORDER BY eMonth,Ocount Desc

最初の結果は

'195', 'akon', 'beautiful', 'site.com', '01'
'20', 'ludacris', 'intro', 'site.com', '01'
'11', 'don omar', 'taboo', 'site.com', '01'

次のような同じクエリを実行する

SELECT count(Key) AS Ocount, artist, title,domain, DATE_FORMAT(`FE`,'%m') AS eMonth
FROM gr 
WHERE domain = 'site.com'
AND artist = 'akon'
AND title = 'beautiful'

結果

'100', 'akon', 'beautiful', 'site.com', '01'

これはどのように可能ですか?私がどのように数えていても、同じ結果が得られるべきではありませんか?

4

1 に答える 1

1

タイトルとアーティストの各組み合わせの数が必要な場合は、

GROUP BY artist, title

これはcount(id)、アーティストとタイトルの組み合わせがそのテーブルに存在するインスタンスの数を表します。この句を使用して、計算WHERE前に結果をフィルタリングできます。COUNT()

少量のデータサンプルから始めて、結果が正確かどうかを確認することで、結果が正確かどうかを確認できますCOUNT()

アーティストのみでグループ化すると、タイトルに関係なく、そのアーティストに一致する行がカウントされます。

于 2013-01-10T20:21:42.027 に答える