私はテーブルを持っています
Date value1 value2
2012-09-07 1 1
2012-09-06 2 2
2012-09-05 3 3
2012-09-04 4 4
2012-09-03 5 5
2012-08-31 6 6
2012-08-30 7 7
2012-08-29 8 8
2012-08-28 9 9
2012-08-27 10 10
2012-08-24 11 11
2012-08-23 12 12
2012-08-22 13 13
表の値は、例のように昇順ではありません。乱数があります。
value1
週の初めとvalue2
終わりに、週の開始日を取得する必要があります。
日付フィールドは一意であり、日付のみが格納されるため、日付の重複は許可されません。
以下のクエリを使用しようとしました。
SELECT MIN(`Date`) as Date,
(SELECT `value1` ORDER BY `Date` ASC LIMIT 1) as Start,
(SELECT `value2` ORDER BY `Date` DESC LIMIT 1) as End
FROM table
GROUP BY YEAR(`Date`), WEEK(`Date`,7)
クエリはグループ化された週をvalue1
正しく返しますvalue2
が、週の始まりの行からのものでもあります。
2012-08-27 10 10
しかし、私は必要です:
2012-08-27 10 6
私は何を間違っていますか?