岩崎と申します。
いつも皆様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