1
我有問題檢索具有重複PLAYER_SCORE的PLAYER_SCORE的PLAYER。 PLAYER_SCORE的標準被認爲是重複的,它有其他記錄具有相同的P_ID,SCORE_1,SCORE_2,SCORE_3和SCORE_4。如何檢索重複在mysql中的記錄
PLAYER表:
+------+---------+ | P_ID | NAME | +------+---------+ | 12 | Juan | | 13 | Miguel | | 14 | Luna | | 15 | Placido | +------+---------+
球員評分表
+-------+------+---------+---------+---------+---------+ | PS_ID | P_ID | SCORE_1 | SCORE_2 | SCORE_3 | SCORE_4 | +-------+------+---------+---------+---------+---------+ | 1 | 1 | 87 | 96 | 79 | 93 | | 2 | 1 | 87 | 96 | 97 | 88 | | 3 | 1 | 87 | 96 | 79 | 93 | | 4 | 2 | 85 | 84 | 85 | 94 | | 5 | 2 | 87 | 96 | 22 | 44 | | 6 | 2 | 85 | 84 | 85 | 94 | | 7 | 3 | 79 | 96 | 82 | 84 | | 8 | 3 | 97 | 96 | 92 | 95 | | 9 | 3 | 87 | 96 | 97 | 87 | | 10 | 4 | 89 | 75 | 99 | 97 | | 11 | 4 | 97 | 96 | 92 | 95 | | 12 | 4 | 87 | 96 | 97 | 87 | +-------+------+---------+---------+---------+---------+
我的SQL腳本:
腳本1:
SELECT P.P_ID, NAME FROM PLAYER P
INNER JOIN PLAYER_SCORE PS ON PS.P_ID = P.P_ID
GROUP BY P_ID, SCORE_1, SCORE_2, SCORE_3, SCORE_4
結果:
+------+---------+ | P_ID | NAME | +------+---------+ | 1 | Juan | | 1 | Juan | | 2 | Miguel | | 2 | Miguel | | 3 | Luna | | 3 | Luna | | 3 | Luna | | 4 | Placido | | 4 | Placido | | 4 | Placido | +------+---------+
腳本2:
SELECT P_ID, NAME FROM (
SELECT P.P_ID, NAME FROM PLAYER P
INNER JOIN PLAYER_SCORE PS ON PS.P_ID = P.P_ID
GROUP BY P_ID, SCORE_1, SCORE_2, SCORE_3, SCORE_4
) AS PLAYER GROUP BY P_ID
結果:
+------+---------+ | P_ID | NAME | +------+---------+ | 1 | Juan | | 2 | Miguel | | 3 | Luna | | 4 | Placido | +------+---------+
預計:
+------+--------+ | P_ID | NAME | +------+--------+ | 1 | Juan | | 2 | Miguel | +------+--------+
任何幫助...謝謝。