2017-02-06 7 views
0

こんにちは私は、ムービー名、リリースされた日付、コストと収入を持つテーブルを持っています。私は月同じ行に表示するために重複レコードを取得する

以上
CREATE TABLE movies_200249154(

movieName VARCHAR(30), 
releaseDate DATE, 
costInMillions INT (20), 
revenueInMillions INT (20) 

); 

ごとにリリースされたどのように多くの映画を表示するクエリを記述しようとしています。ここ

私のテーブルである私の現在のクエリ

SELECT DISTINCTROW (monthname(releaseDate)) AS 'Month released', COUNT(*)movieName 
FROM movies_200249154 
GROUP BY movieName; 

ある今の私のクエリが表示されます映画のカウント(常に1)、重複を表示します。 SELECT DISTINCTを使用すると、月に1つの映画しか表示されません。他のデータを忘れてしまったようです。

私のクエリでは、月とその月にリリースされた映画の量を表示する必要があります。例えば、それは、現在、私は必要なクエリが6月を表示していましたし、4

のカウントすべてのヘルプは非常にあなたがしてMONTHのMySQLの機能とgroup byを使用することができます

+0

MySQL <> SQL-Serverそれでは?そして解決策ごと...あなたはmovienameでグループ分けしているので、すべての映画の情報は別の行に表示されます。毎月の映画を数えてから月ごとにグループ化する必要があります。さらに、この場合にグループを実行するときには別名を必要としません。 IMO distinctは、真に排除する必要がある結果セットにデータが重複している場合にのみ使用する必要があります。それ以外の場合は集団を使用すると、必要なだけのグループができます。 – xQbert

答えて

2

を高く評価している1のカウントで4回6月を繰り返し、 必要な値を取得する:

SELECT MONTH(releaseDate), count(*) 
FROM movies 
GROUP BY MONTH(releaseDate); 
+0

これはあなたに大変感謝してくれました –

+0

@AMあなたが助けてくれた場合、正しい答えを受け入れることができます。 –

関連する問題