2013-04-24 104 views
0

我想問一下關於我的sql來查看最大值和最小值的看法。從視圖中搜索最大值和最小值

我創建一個視圖:

create VIEW Count_Of_Appointment AS 
SELECT ap.doctorID, COUNT(*) AS NumberOfAppointment, CONCAT(d.surname,'', d.given) AS doctor_name 
FROM appointment AS ap Inner join doctor AS d 
    ON ap.doctorid = d.doctorID 
GROUP BY doctorID 
ORDER BY COUNT(*) 

現在,我想從使用視圖中找到分鐘+名醫生。

這裏是我的代碼:

SELECT a2.* 
FROM 
    (
    SELECT ap.doctorID, COUNT(*) AS Number, CONCAT(d.surname,'', d.given) AS doctor_name 
    FROM appointment AS ap Inner join doctor AS d 
     ON ap.doctorid = d.doctorID 
    GROUP BY doctorID 
    ORDER BY COUNT(*) 
    )a2 
INNER JOIN 
(
SELECT MIN(Number) AS NumberOfAppointment 
FROM 
    (
    SELECT ap.doctorID, COUNT(*) AS Number, CONCAT(d.surname,'', d.given) AS doctor_name 
    FROM appointment AS ap Inner join doctor AS d 
     ON ap.doctorid = d.doctorID 
    GROUP BY doctorID 
    ORDER BY COUNT(*) 
    )a1 
)b 
ON a2.Number = b.NumberOfAppointment 

之前我做的使用視圖代碼。我如何使用FROM VIEW Count_Of_Appointment轉換它們?

回答

0

下面是如何使用MySQL

SELECT student_name, MIN(test_score), MAX(test_score) 
    FROM student 
    GROUP BY student_name; 

獲得最小和最大聚合函數,如果你想使之作爲一個視圖

CREATE VIEW vw_student_score AS 
    SELECT student_name, MIN(test_score), MAX(test_score) 
    FROM student 
    GROUP BY student_name; 
+0

如何使用視圖,我已經爲尋求最大和min? – user2312354 2013-04-24 15:51:41