2016-08-03 2 views
-1

Привет, ребята, на самом деле у меня проблема.Вопрос о выборе максимального значения из сгруппированного столбца

select * from Insurance_Plan; 
    select * from Enroll; 
    select * from Patient; 

Эти три таблицы в моей базе данных. Теперь я должен получить страховой план с наиболее пациентами-абитуриентами, и для этого плана, его имя, требуемая сумма доплаты и количество пациентов, зачисленных на учебу.

Я сделал эту часть до здесь:

Select I.Insurance_Name,Max(I.Insurance_Copayment_Amount) As 
    Copayment_Amount,count(P.Patient_ID) As Number_Of_Patients 
    From Insurance_Plan as I inner Join 
    Enroll AS E on I.Insurance_Plan_ID=E.Insurance_Plan_ID 
    inner join Patient as P on P.Patient_ID=E.Patient_ID 
    group by Insurance_Name 

В результате я получаю результат: enter image description here

Теперь я хочу показать только план страхования с максимальным количеством пациентов, включенными в которых - вторая строка на показанном выходе. Я пытаюсь использовать функцию Max, но получаю ошибки. Это должно быть сделано в одном эффективном запросе.

+0

Я удалил 'mysql' тег из этого вопроса - что снимок экрана должен быть от' ssms'. Не стесняйтесь обновлять, если я ошибаюсь, просто не помещайте обе базы данных ... – sgeddes

ответ

0
Select top (1) I.Insurance_Name,Max(I.Insurance_Copayment_Amount) As 
    Copayment_Amount,count(P.Patient_ID) As Number_Of_Patients 
    From Insurance_Plan as I inner Join 
    Enroll AS E on I.Insurance_Plan_ID=E.Insurance_Plan_ID 
    inner join Patient as P on P.Patient_ID=E.Patient_ID 
    group by Insurance_Name 
    order by count(P.Patient_ID) desc 
+0

эй спасибо ... Но добавив 3 в порядке по порядку, мы меняем его с динамического на ручное. Итак, любым другим способом – Kam

+0

перейдите на править – niketshah90

Смежные вопросы