-9

DBにこのテーブルがあります:

ID    userID  MovieID  Rank
1      1        1        9
2      1        2        9
3      1        3        9
4      2        1        9
5      2        2        10

同じ評価の2人のユーザー間の相互映画を取得するためにクエリを実行したいと思います。

たとえば、この場合、movieID = 1 は、ユーザー 1 とユーザー 2 の両方によって「9」と評価されます。

だから私は映画1だけを結果に入れたい.

- アップデート -

だから私はこれを思いつきました(@ RJ1990のおかげで)

SELECT        MovieID
FROM            LoverMovie
WHERE        (LoverID = 1) OR
                         (LoverID = 2)
GROUP BY MovieID
HAVING        (COUNT(*) > 1) AND (ABS(MAX(Rank) - MIN(Rank)) < 3)

この種のクエリは EF (DbContext) で記述できますか?

4

2 に答える 2

1

アプローチ :

以下のクエリから、 Similar Rating が複数ある特定の映画のMovieIDRate、およびRate_Countを取得します。

select MovieID,Rank,Count(*) Rate_Count
  from your_table
 group by MovieID,Rank
having Count(*) > 1
于 2013-07-08T12:20:00.400 に答える