• ベストアンサー

select文

select文の質問なんですが、広告のデータでクリック数と売り上げを毎日取っていたとして、広告毎に累計のデータを見るときは、 select 広告名, sum(クリック数), sum(売り上げ) from 売り上げテーブル group by 広告ID 上記のsql文で取得できるかと思うのですが、取得する際にクリック数の合計でソートをかけたい場合には、どのようにすればよろしいのでしょうか? 上記の文にただ、order by クリック数を記述しても、1レコード単位でソートしてしまうため困っております。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

別名宣言して、別名でソートをかけます select `広告名`,sum(`クリック数`) AS `クリック計`, sum(`売り上げ`) AS `売り上げ計` from `売り上げテーブル` group by `広告ID` order by `クリック計` desc

makeworld
質問者

お礼

参考になりました、ありがとうございます。

その他の回答 (1)

  • geso775
  • ベストアンサー率29% (15/51)
回答No.1

検索結果を一度表にしてorder byをかけるとよいでしょう。 select * from ( select 広告名, sum(クリック数) click, sum(売り上げ) sell from 売り上げテーブル group by 広告ID ) order by click *フィールド名はお好みで。

makeworld
質問者

お礼

参考になりました、ありがとうございます。

関連するQ&A