0

私がする必要があることは 1 つのクエリを使用して実行できると思いますが、実際にはよくわかりません。クエリを実行して結果の配列をソートすることはできれば避けたいと思います。

基本的に、次の列を含む 1 つのテーブルがあります。

商品名、価格、販売済み

これらのコラムから、次のことを行いたいと思います。

  • から最高 20 個の値を選択し'sold' column DESCます。
  • 20 件の結果を で並べ替えprice ASCます。

とても単純に聞こえますが、これを達成して私の命を救う方法がわかりません。また、SQL は私の得意分野ではありません。誰かが助けてくれれば幸いです!

4

2 に答える 2

4

これにはサブクエリを使用できます。

select t.*
from (select t.*
      from t
      order by sold desc
      limit 20
     ) t
order by price asc

たくさんのことを行うクエリがあります。これを と呼びます。これがあなたがすることです:

select t.*
from (select t.*
      from (<subquery
           ) t
      order by sold desc
      limit 20
     ) t
order by price asc
于 2013-02-01T22:27:34.217 に答える
0

私はこれがあなたが探していることをすると思います:

select * from table
order by sold desc, price asc
于 2015-12-14T06:34:15.960 に答える