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. PHPを使用してリモートサーバから最終更新情報およびその他のファイル情報を取得
- 3. マーケットプレイスから最新のバージョン情報を取得する方法
- 4. URLから情報を取得する
- 5. データベースから情報を取得する
- 6. タプルの辞書のタプルの最大コンポーネントへのキーの取得
- 7. 大きなファイルからバージョン情報を取得
- 8. タプルのリストから上位5最大を取得する - Pythonの
- 9. バッテリーの情報をアンドロイドデバイスから取得
- 10. form_validのフォームデータから情報を取得
- 11. restfbからの情報を取得
- 12. アンドロイドのステータスバーから情報を取得
- 13. 星のレビューシステムから情報を取得
- 14. リストビューからsqlite(アンドロイドスタジオ)で他のアクティビティにjson情報を取得する方法
- 15. SVNからの情報の取得
- 16. SNMP - プロセスからの情報の取得
- 17. データベースからの情報の取得
- 18. クロムエクステンションからのクッキー情報の取得
- 19. ロープからの情報の取得
- 20. ColorPickerDialog.javaからの色情報の取得
- 21. Jenkins APIからビルド情報を取得
- 22. default.ctp controller cakephpから情報を取得
- 23. アンドロイドジオコーダからペルシア語情報を取得
- 24. ObjCPropertyDeclからクラス情報を取得
- 25. OLAPから情報を取得
- 26. データベースサーバからハードウェア情報を取得
- 27. ファイルパスからビデオ情報を取得
- 28. JavaScriptオブジェクトから情報を取得
- 29. パッケージ名からアプリケーション情報を取得
- 30. juliaからシステムメモリ情報を取得
これを確認してください:http://stackoverflow.com/questions/41049947/how-do-i-select-the-max-score-from-each-distinct-user-in-this-table – bernie