2013-04-24 101 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