0

私は、いくつかの代替品 (一部のプロバイダーによって提供される) の価格を調べる SQL クエリを持っています。(それらは 1 つ、2 つ、またはそれ以上になる可能性があります)

私はこのクエリを持っていて、それをコードで解析していますが、SQL だけでやりたいことを行う方法は他にありますか?

select * from tprovider_treplacement where replacement_id = ? order by price asc

ありがとうございます☺</p>

4

1 に答える 1

1

このようなものが欲しいですか?

select *
from tprovider_treplacement
where replacement_id = ? and
      price = (select min(price)
               from tprovider_treplacement
               replacement_id = ?
              )

これは標準 SQL です。多くのデータベースは、ウィンドウ関数を使用したこの方法もサポートしています。

select *
from (select pr.*,
             min(price) over (partition by replacement_id) as minprice
      from tprovider_treplacement pr
      where replacement_id = ?
     ) t
where price = minprice
于 2013-06-22T00:25:04.200 に答える