2013-10-24 59 views
1

我是一個新手與SQL。MySQL - 每個確定的ID只返回1條記錄

我有這樣的表與這些記錄:

mark

---------------------------------------- 
student_id | subject_id | comp_id | mark 
---------------------------------------- 
1   | 1   | 28 | 5.5 
1   | 1   | 29 | 7.5 
1   | 1   | 30 | 9.0 
1   | 2   | 36 | 9.6 
1   | 2   | 37 | 6.0 
1   | 3   | 42 | 4.0 

我已經試過此查詢SELECT subject_id FROM mark WHERE student_id =1

結果

subject_id 
---------- 
1 
1 
1 
2 
2 
3 

我如何選擇數據與這些結果?我期待這樣的事情:

subject_id 
---------- 
1 
2 
3 

在此先感謝。

回答

0

使用distinct

SELECT distinct subject_id 
FROM mark 
WHERE student_id = 1 

或一組數據

SELECT subject_id 
FROM mark 
WHERE student_id = 1 
group by subject_id 
1

只需使用DISTINCT

SELECT DISTINCT subject_id FROM mark WHERE student_id =1 
0

使用DISTINCT子句就可以實現它

SELECT DISTINCT subject_id FROM mark WHERE student_id =1; 

然後你會得到輸出

subject_id 
---------- 
1 
2 
3 
0

您可以使用GROUP BY

SELECT subject_id FROM mark WHERE student_id =1 GROUP BY student_id;