gpt4 book ai didi

php - 分组依据中的第一个和最后一个记录。无法到达最后

转载 作者:行者123 更新时间:2023-11-29 14:17:43 25 4
gpt4 key购买 nike

我有一张 table

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

我做错了什么?

最佳答案

像这样怎么样

SELECT `date`, value1 as Start, 
(SELECT value2 FROM photos WHERE t.date >= adddate(`Date`, INTERVAL 1-DAYOFWEEK(`Date`) DAY) AND t.date <= adddate(`Date`, INTERVAL 7-DAYOFWEEK(`Date`) DAY) ORDER BY date DESC LIMIT 1) as endDate
from table t
GROUP BY YEAR(`Date`), WEEK(`Date`,7)

可能有更优化的方法来做到这一点..但这有效

关于php - 分组依据中的第一个和最后一个记录。无法到达最后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12330235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com