「Total」という列の値をランク付けし、結果を「Rank」という計算列に返すSQLクエリがあります。唯一の言語type..soに基づいて列エントリ型に基づくランク値
| NAME | LANGUAGE | TOTAL | RANK|
------------------------------------------------------
| james|French |70.0|2nd |
| jimmy|English |90 |1st |
| josh|French |60 |3rd |
| john|English |40 |4th |
iが総列をランク付けしますクエリを書きたいけど:
String sql ="select s1.Name as 'NAME',s1.Lang as 'LANGUAGE',"
+ "s1.Total as 'TOTAL',COUNT(DISTINCT s2.Total) AS Rank from Type1 s1 JOIN Type1 s2 on(s1.Total<=s2.Total) GROUP BY s1.ID order by s1.Name ASC ";
pst=conn.prepareStatement(sql);
rs=pst.executeQuery();
table_statistics1.setModel(DbUtils.resultSetToTableModel(rs));
をし、それは以下の結果を与える:次のようにクエリがあります私は、言語の2種類がありますので、合計列をランク付けし、フランス語のみのエントリーと英語のみのエントリのための別々のランクの値を返します。.. 出力は以下のようになりますように:
| NAME | LANGUAGE | TOTAL | RANK|
------------------------------------------------------
| james |French |70.0 |1st |
| jimmy |English |90 |1st |
|josh |French |60 |2nd |
|john |English |40 |2nd |
すべての提案は非常に感謝しています。ありがとうございました。
あなたの質問に使用しているデータベースをタグ付けしてください。 –