我的數據庫架構如下:如何執行以下SQL?
match_id,USER_ID,評級
匹配成對出現如
7, 2947, 5
7, 273, 4
在上述例子中爲7匹配,用戶2947被評爲5由用戶273的用戶273通過用戶2947.額定4如何能夠執行產生以下輸出
rater_id的查詢時, rating,num_ratings
其中列出了評分者,他們相關的評級和評級數量。因此,例如,如果用戶2947給了他10 4的和十5的我想看到:
2947,4,10
2947,5,11
我的數據庫架構如下:如何執行以下SQL?
match_id,USER_ID,評級
匹配成對出現如
7, 2947, 5
7, 273, 4
在上述例子中爲7匹配,用戶2947被評爲5由用戶273的用戶273通過用戶2947.額定4如何能夠執行產生以下輸出
rater_id的查詢時, rating,num_ratings
其中列出了評分者,他們相關的評級和評級數量。因此,例如,如果用戶2947給了他10 4的和十5的我想看到:
2947,4,10
2947,5,11
將表與自身:
SELECT r1.user_id, r2.rating, count(*)
FROM Ratings r1
INNER JOIN Ratings r2 ON r2.match_id=r1.match_id AND r2.user_id<>r1.user_id
GROUP BY r1.user_id, r2.rating
看起來像由雙列組。看看這個tutorial
就像Somid3所說的那樣,我認爲是兩列組合。試試這個。
CREATE TABLE #match(match_id int,user_id int ,rating int)
SELECT m1.user_id,m1.rating, COUNT(m1.Rating)
FROM
#match m1
Group by m1.user_id,m1.rating