質問: ### 前提・実現したいこと CakePHPでシステムを作っています。 SQL 初心者で掲題の件を実現したいと思っています。 例えば持っている情報がStatusの合計値250だとして 書きのようなDBの場合 id name status 1 A 20 2 B 30 3 C 100 4 D 50 5 E 200 大きいIDから検索して合計値に達した行を取得したいです。 id name status 4 D 50 5 E 200
回答: Window関数を使えるPostgreSQLをご利用でしたら、 次のクエリで近い情報を抽出できるかもしれないと思いました。 ``` SELECT * FROM ( SELECT *, SUM(status) OVER (ORDER BY id DESC) FROM table ) AS t WHERE t.sum <= 250 ORDER BY t.id ``` ご質問されるときは を参考にして、 調べた内容やご利用中の環境等の情報を出来るだけ伝えると よりよい回答がつきやすくなるかもしれません。