複数のグループから一つずつ値を抽出したいときはどのようにすれば良いのでしょうか
例えば、地方ひとつづつから県名を取得するときなど(ただし、地方は被っては行けない)
<追記>
一つずつの取得方法は人口数降順です
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
ベストアンサー
windows関数で県毎の人口数でランク付けしました、各県の1から順に取得する事ができます。
sql
1create temp table zenkoku (ken text, chihou text, jinkou int); 2 3SELECT ken, chihou, jinkou, 4 dense_rank() OVER (PARTITION BY ken ORDER BY jinkou DESC) 5FROM zenkoku order by 4, 3 DESC, 1
投稿2017/08/16 03:15
総合スコア4070
0
一つずつ値を抽出
の根拠がないとランダムな抽出になります。
なにか特定のカラムとリンクして取り出さないとSQL文としてはなりたちません
投稿2017/08/14 06:16
総合スコア114829
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/14 06:57 編集
0
こんにちは。
グループ毎に一つということなので最小値で取り出す例を。※最大ならmax()
地方ごとの人口はグルーピングしても変わらないのでそれで昇順とします。
※人口が同数の場合のソート条件が不明なので、"地方"順としました。
SQL
1select "地方", min("値") from "テーブル" group by "地方","人口" order by "人口" desc, "地方"
具体的でないので、これくらいしか回答できないですけれど。
投稿2017/08/14 05:40
編集2017/08/14 10:36総合スコア25188
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/16 03:24 編集