加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何获取具有聚合函数的MySQL查询中分组记录的第一条和最后一条

发布时间:2020-12-14 01:03:44 所属栏目:百科 来源:网络整理
导读:我试图获
我试图获取“分组”记录的第一个和最后一个记录。
更确切地说,我正在做这样的查询
SELECT MIN(low_price),MAX(high_price),open,close
FROM symbols
WHERE date BETWEEN(.. ..)
GROUP BY YEARWEEK(date)

但我想得到组的第一个和最后一个记录。它可以通过做大量的请求,但我有一个相当大的表。

有一个(低的处理时间,如果可能的话)这样做与MySQL?

您要使用GROUP_CONCAT和SUBSTRING_INDEX:
SUBSTRING_INDEX( GROUP_CONCAT(CAST(open AS CHAR) ORDER BY datetime),',1 ) AS open
SUBSTRING_INDEX( GROUP_CONCAT(CAST(close AS CHAR) ORDER BY datetime DESC),1 ) AS close

这避免了昂贵的子查询,并且我发现对于这个特定问题通常更有效。

查看两个函数的手册页以了解其参数,或访问这篇包含如何做timeframe conversion in MySQL的示例的文章,以获得更多解释。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读