studentID、クラス、グレードのテーブルがあるとします。私はクラスごとに最高の成績を望みます。これは簡単です。クラスごとにグループ分けし、最大(グレード)を取得してください。しかし、私が抱えている問題は、studentIDも取得する方法です。PostgreSQLが最大タプルから他の情報を取得する
2
A
答えて
2
代わりに、集計関数を使用するには、ウィンドウ関数を使用することができます。
SELECT class, grade, studentId
FROM (SELECT class, grade, studentId,
RANK() OVER (PARTITION BY class ORDER BY grade DESC) rk
FROM students)
WHERE rk = 1
1
私はdistinct on
が行くには良い方法だと思います:
select distinct on (s.class) s.*
from students
order by s.class, s.grade desc;
あなたは、おそらくのためにすべての学生をしたいしかし、各クラスは最大の等級を持つ。もしそうなら、Mureinikの方が良いでしょう。
関連する問題
- 1. 他のファイルからデータベース情報を取得する
- 2. 他のコンピュータから情報を取得する
- 3. PHPを使用してリモートサーバから最終更新情報およびその他のファイル情報を取得
- 4. マーケットプレイスから最新のバージョン情報を取得する方法
- 5. Linqで他のテーブルから特定の情報を取得
- 6. データベースから情報を取得する
- 7. データグリッドから情報を取得する
- 8. リストから情報を取得する
- 9. URLから情報を取得する
- 10. 大きなファイルからバージョン情報を取得
- 11. タプルの辞書のタプルの最大コンポーネントへのキーの取得
- 12. CGAL:最近傍の情報を取得
- 13. バッテリーの情報をアンドロイドデバイスから取得
- 14. form_validのフォームデータから情報を取得
- 15. ストリーミングラジオからの情報を取得
- 16. restfbからの情報を取得
- 17. アンドロイドのステータスバーから情報を取得
- 18. 星のレビューシステムから情報を取得
- 19. タプルのリストから上位5最大を取得する - Pythonの
- 20. ColorPickerDialog.javaからの色情報の取得
- 21. データベースからの情報の取得
- 22. SVNからの情報の取得
- 23. SNMP - プロセスからの情報の取得
- 24. ロープからの情報の取得
- 25. クロムエクステンションからのクッキー情報の取得
- 26. リストビューからsqlite(アンドロイドスタジオ)で他のアクティビティにjson情報を取得する方法
- 27. AlertDialogから情報を取得
- 28. AndroidでFacebookから情報を取得
- 29. ModelValidatorからアクション情報を取得
- 30. アンドロイドジオコーダからペルシア語情報を取得
これを確認してください:http://stackoverflow.com/questions/41049947/how-do-i-select-the-max-score-from-each-distinct-user-in-this-table – bernie