2013-10-04 5 views
0

누군가 학생 ID 입력란에서 중복을 제거하기 위해 올바른 방향으로 나를 가리킬 수 있습니까?어떻게 duplicatesin sql을 제거합니까?

SQL> select DISTINCT(student_class.student_id) as student_Num,student_class.class_id, 
    2 event.event_id, event.event_name 
    3 from student_class, event 
    4 where student_class.class_id = '10' 
    5 and event.class_id = '10'; 

STUDENT_NUM CLASS_ID EVENT_ID EVENT_NAME 
----------- ---------- ---------- -------------------------------------------------- 
     12   10   2 Flag FOOtball Game 
     12   10   5 PICKUP SOCCER GAME 
      9   10   5 PICKUP SOCCER GAME 
     16   10   5 PICKUP SOCCER GAME 
      6   10   2 Flag FOOtball Game 
     18   10   5 PICKUP SOCCER GAME 
      4   10   5 PICKUP SOCCER GAME 
      4   10   2 Flag FOOtball Game 
     16   10   2 Flag FOOtball Game 
     20   10   2 Flag FOOtball Game 
      3   10   5 PICKUP SOCCER GAME 
      2   10   5 PICKUP SOCCER GAME 
      3   10   2 Flag FOOtball Game 
      8   10   2 Flag FOOtball Game 
      9   10   2 Flag FOOtball Game 
      2   10   2 Flag FOOtball Game 
      6   10   5 PICKUP SOCCER GAME 
     20   10   5 PICKUP SOCCER GAME 
     18   10   2 Flag FOOtball Game 
      8   10   5 PICKUP SOCCER GAME 
+2

일치하는 student_id 값이 여러 개 있기 때문에 중복이 있습니다. 예상되는 결과는 무엇입니까? –

+1

'중복 제거'라고 말하면 실제로는 '출력에서 반복되는 값을 억제하지 않습니까?'라는 의미입니까? 왜냐하면 우리가 용어를 적절하게 사용한다면 여기에는 중복이 없기 때문입니다. 이 행은 이벤트 열에 다른 값을 갖습니다. – developerwjk

+0

distinct는 전체 행에 적용됩니다. 'distinct (col1)'은 열의 함수가 아닙니다. –

답변

0

TRY SQL>

SELECT DISTINCT event.event_id,event.event_name,COUNT(student_class.student_id) AS 'Total Students' 
    FROM student_class, event 
    WHERE student_class.class_id = '10' 
    AND event.class_id = '10' 
    GROUP BY event.event_id,event.event_name,student_class.student_id 

이 당신에게 그것을에 가서 학생들의 이벤트 ID와 이름를 제공해야합니다.

관련 문제