2017-06-07 71 views
0

比較我有兩個表MySQL數據庫。選擇數量,百分比和mysql的

第一種稱爲movies_interaction使用以下參數:movie_idwatcher_idmovie_duration。 第二表是movies_additional以下參數:movie_idmovie_length

我需要的是將這兩個表由我需要檢索這是看了不止一次和其持續時間的60%以上的電影連接每個用戶。

這是迄今爲止我寫的,但我知道它的錯,所以不要拿上我請。

SELECT watcher_id, COUNT(*) 
AS video_count FROM movie_interaction 
GROUP BY movie_id HAVING COUNT(*) >= 2 AND 
movies_interaction.movie_duration *100/movies_additional.movie_length >= 60 

第四行代碼是我需要幫助的地方!

結果可能是這樣的:watcher_id1 = 9,watcher_id2 = 13 ...等。

非常感謝。

+0

HAVING是聚合函數的條件。將其他條件放在WHERE子句中。 – jarlh

回答

1

我不太確定你需要的,但我覺得這樣像她那樣。

SELECT A.movie_id, COUNT(I.watcher_id) AS video_count 
FROM movie_interaction I 
INNER JOIN movie_additional A ON A.movie_id = I.movie_id AND 
           I.movie_duration/A.movie_length >= 0.60 
GROUP BY A.movie_id 
HAVING COUNT(I.watcher_id) >= 2 

這會給你的電影列表看了以上的時間超過60>%

+0

謝謝!它工作順利,很好。 –