mysql:15783
From: <shin-1@xxxxxxxxxx>
Date: Wed, 11 Jul 2012 02:56:39 +0900
Subject: [mysql 15783] カテゴリ毎の上位3件
こんばんは。shin1です。 価格データから、各カテゴリ毎の売価が安いものTOP3を 一覧にしたいのですが、こういう項目のテーブルがあったとします。 create table saledata ( saleid int auto_increment, category varchar(20), name varchar(200), price int, primary key (saleid) ); 他のエンジンなら、以下のような感じだと思うのですが MySQLではサブクエリのLIMITが使えないと知り、困っています。 MySQLではこういう場合、どのように記述すれば良いのでしょうか。 select category, name, price from saledata AS t where saleid in ( select saleid from saledata where category=t.category order by price asc limit 3 ) order by category asc, price asc たぶん、良くある例な気がしますが、ネットで探し当てられ ませんでした。よろしくお願い致します。
-> 15783 2012-07-11 02:56 [<shin-1@xxxxxxxxxx> ] カテゴリ毎の上位3件 15784 2012-07-11 10:27 ┣[高橋政利 <takahashi@] 15785 2012-07-11 12:28 ┣[中川 貴 <takashi.nak] 15796 2012-07-12 04:10 ┃┗[<shin-1@xxxxxxxxxx> ] 15786 2012-07-11 13:49 ┗[<gotou1213@xxxxxxxxx] 15787 2012-07-11 14:17 ┣[<gotou1213@xxxxxxxxx] 15788 2012-07-11 15:00 ┃┗[中川 貴 <takashi.nak] 15790 2012-07-11 16:09 ┗[<shin-1@xxxxxxxxxx> ] 15791 2012-07-11 17:11 ┣[あきら <akirainfoml@] 15794 2012-07-12 03:38 ┃┗[<shin-1@xxxxxxxxxx> ] 15792 2012-07-12 00:40 ┗[<gotou1213@xxxxxxxxx] 15795 2012-07-12 03:42 ┗[<shin-1@xxxxxxxxxx> ]