- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PostgreSQLで一致した順にソート)
PostgreSQLで一致した順にソート
このQ&Aのポイント
- PostgreSQLで、複数の条件に一致したデータをソートする方法について教えてください。
- 具体的には、memberテーブルの年齢と学歴、都道府県がpointテーブルの条件と一致した場合にソートしたいです。
- また、pointテーブルの都道府県コードは正規表現を使用して複数のコードを格納しています。正規表現の使い方も教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
はじめまして。 pointテーブルのデータに該当する状態のmemberテーブルのデータに対してポイントを数えると考えてよろしいでしょうか? memberテーブルにデータを一意に特定する列がないので、member_idという列を定義して考えてみました。 (1)~(3)の条件と、ソート条件を満たしたSQL文は、次のようになると思いますが、如何でしょうか。 select m.member_id, count(m.member_id) from member m inner join point p on extract(year from age(now(), birthday)) >= p.min_age_cd and extract(year from age(now(), birthday)) <= p.max_age_cd and m.graduate_cd=p.graduate_cd and p.prefecture_cd like '%' || m.prefecture_cd || '%' group by m.member_id order by count(m.member_id) desc, m.member_id
お礼
お返事が遅くなり、申し訳ございません。 world99さんご回答ありがとうございます。 ご提示いただいたクエリを参考に解決することができました。 ありがとうございました。