2016-08-03 8 views
-1

こんにちは、実際に私は問題があります。グループ化された列から最大値を選択するSQLの問題

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

これら3つはデータベースのテーブルです。今、私は、最も患者の登録者と、その計画のために、その名前、必要な分担金額、および患者の登録人数で保険プランを取得しなければなりません。

私はここまで、その部分を行っている

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

を今、私は患者の最大数にのみ保険プランを表示したいを登録出力の2番目の行です。私は最大機能を使用しようとしていますが、エラーが発生しています。 1つの効率的なクエリで実行する必要があります。

+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

ちょっとありがとう...しかし、by by節で3を追加することで、動的から手動で変更しています。だから他の方法 – Kam

+0

編集を見てください – niketshah90

関連する問題