• ベストアンサー

ある単位で集計した最小値を項目に追加したい

あるSQLを実行した結果 ある集計行(X1)が出るとします。 集計行(X1) ------- 12 15 23 24 28 31 45 47 ------- ここで、集計行の左の数字でグルーピングして、その中のもっとも小さい数字を 集計行の横に出すとします。(行数は変わりません) 集計行(X1),項目2 ------- 12 ,12 15 ,12 23 ,23 24 ,23 28 ,23 31 ,31 45 ,45 47 ,45 ------- もとのSQLを 「select X1 from zz where 条件1」 とした場合、どのようにすればこの結果が得られるでしょう?

質問者が選んだベストアンサー

  • ベストアンサー
  • dda167
  • ベストアンサー率76% (55/72)
回答No.3

-- こういうことじゃないのかな? select X1, min(X1) over (partition by substr(X1,1,1)) from zz where 条件

evaan
質問者

お礼

まさに求めたい通りの結果が出ました。 partition by ってたまに見る程度だったのですが、 こういう使い方をするのですね。 他の方々の解答でもできるかも知れませんが、 今回、この方法を採用するようにしました。 ありがとうございました。

その他の回答 (2)

回答No.2

もしかして、X1の数の十の位の数で、グルーピングすればいいのかな?? select a.X1,b.minX1 from (select X1,X1 - mod(X1,10) as GroupX1 from zz 条件1) a, (select min(X1) as minX1,X1 - mod(X1,10) as GroupX1 from zz 条件1 group by X1 - mod(X1,10)) b where a.GroupX1=b.GroupX1 ;

回答No.1

項目2をひねり出す手段が明示されていないので、回答できる方は居ないと思いますよ。

関連するQ&A