2014-10-10 52 views
-2

我有兩個表一個是學生,另一個是類:請幫我寫一個查詢,這些問題

第一個表有以下幾列編號,標記,CLASSID,studentname

第一表的數據是如下:

id  1  2  3  4 
marks 200  250  300  298 
classid 2  2  1  3 
studentname Vikas Anil Ravil Rahul 

其他表具有以下列ID,類名

其他表的數據如下:

id   1  2 3 4 
classname BCA MCA BA BCA 

,現在的問題是,

  1. 如何獲得具有最高分的學生和類名的名稱。
  2. 如何獲得學生姓名和班級名稱的最低分數。
  3. 如何獲得擁有最多學生的班級名稱。

請大家幫幫我我是MySQL新手。

+0

歡迎計算器!請查看[常見問題解答 - 我如何提出一個好問題?](http://stackoverflow.com/help/how-to-ask)如何提出好問題,以便您得到很好的答案。 至少,你應該自己嘗試過一些東西,並且最好顯示一些你嘗試過的**代碼**。 – 2014-10-10 05:48:22

+0

你有試過什麼嗎? – Gunaseelan 2014-10-10 05:48:25

+0

對於每個問題都會有不同的查詢。 – 2014-10-10 05:49:56

回答

2
SELECT a.name, b.classname 
FROM student a 
LEFT JOIN class b 
ON a.classid = b.id 
WHERE a.marks = (SELECT MAX(marks) FROM student); 

SELECT a.name, b.classname 
FROM student a LEFT JOIN class b 
ON a.classid = b.id 
WHERE a.marks = (SELECT MIN(marks) FROM student); 

SELECT b.classname 
FROM student a 
LEFT JOIN class b 
ON a.classid = b.id 
ORDER BY COUNT(a.classid) DESC LIMIT 1; 

不知道,但你可以試試這個...我只是個新手太...

+1

「a」後面不應有逗號,每次查詢後都應該添加分號。第三個查詢看起來並不像它那樣工作。你應該編輯你的答案是正確的,並避免downvoting。 – 2014-10-10 20:44:24

+0

tnx糾正我.... – Pantamtuy 2014-10-12 23:58:11