2012年7月11日

[mysql 15790] Re: カテゴリ毎の上位3件

こんにちは。shin1です。

速度は心配ですが、メンテナンス時の可読性を考えると、こちらの
ほうがシンプルで良さそうですね。

中川さんからのご指摘のように3件無いcategoryは <= が成り立たなくなるので、
(select count(*) from saledata where category = t.category) < 3 or
という条件も付ければよさそうですね。


これで実テーブルで試してみます。ありがとうございました

>後藤です。
>
>以下の様な方法でどうでしょうか?
>
>select category, name, price from saledata AS t
> where price <= (
> select price from saledata where category = t.category
> order by price asc limit 2,1
> )
> order by category asc, price asc
>;
>
>saledata (category , price) のインデックスが必要だろうと思いますが。
>
>以上です。
>


投稿者 xml-rpc : 2012年7月11日 16:09
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/111246
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。