mysql:15578
From: 岩崎 誠司 <岩崎 誠司 <iwasaki_ryuqseed_6130@xxxxxxxxxx>>
Date: Thu, 28 Apr 2011 14:34:26 +0900 (JST)
Subject: [mysql 15578] 最新 10 件の内でベスト 5 の合計を取りたい
岩崎と申します。 いつも皆様MLを参考にさせていただいてます。 ちょっと皆様のお知恵を拝借したいと思い投稿しました。 表題にもありますが、該当する「num」の一定期間の最新のデータ 10件のうち、diffのベスト5の合計を取りたいので以下のようなクエリで 取得しましたが、SELECTを何回も重ねるので スッキリせずに分かりにくいクエリになっています。 他に方法はないでしょうか、よろしくお願いします。 ちなみにベスト5のデータを取るのでしたら、「AS d」の()内の クエリで取れます。 SELECT SUM(di) FROM (SELECT di FROM (SELECT diff AS di FROM hd WHERE num = 1 AND day BETWEEN '2010-04-01' AND '2011-03-31' ORDER BY day DESC LIMIT 10 ) AS s ORDER BY di LIMIT 5 ) AS d テーブル作成文 CREATE TABLE `hd` ( `id` int(11) NOT NULL AUTO_INCREMENT, `num` int(11) NOT NULL, `day` date DEFAULT NULL, `diff` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM 環境 OS Windows7 professional SP1 MySQL Version 5.1.16
-> @ 15578 2011-04-28 14:34 [岩崎 誠司 <iwasaki_] 最新 10 件の内でベスト 5 の合計を取りたい 15579 2011-04-28 15:27 ┗[Mikiya Okuno <mikiya] 15580 2011-04-28 16:58 ┗[岩崎 誠司 <iwasaki_]