首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分组内环和极限

问分组内环和极限
EN

Stack Overflow用户
提问于 2018-02-03 13:03:35
回答 2查看 32关注 0票数 0

我不知道这个问题的确切名称是什么

我在表中得到了以下列

代码语言:javascript
复制
id, slug, date, market

每一行都是一个日期、硬币名称和市值。

我要按日期分组

代码语言:javascript
复制
SELECT slug, date, market
from coin
order by date asc, market desc

slug        date        market
bitcoin     2013-04-28  1500520000
litecoin    2013-04-28  73773400
peercoin    2013-04-28  7255800
namecoin    2013-04-28  5969080
terracoin   2013-04-28  1510150
novacoin    2013-04-28  1155160
bitcoin     2013-04-29  1491160000 -- new date
litecoin    2013-04-29  74952700
peercoin    2013-04-29  7262850
namecoin    2013-04-29  5977460
terracoin   2013-04-29  1508860
novacoin    2013-04-29  1162460
bitcoin     2013-04-30  1597780000 -- new date
litecoin    2013-04-30  75726800
peercoin    2013-04-30  7641700
namecoin    2013-04-30  7185910
terracoin   2013-04-30  1650870
novacoin    2013-04-30  1249450
bitcoin     2013-05-01  1542820000 -- new date
litecoin    2013-05-01  73901200

我想把每个日期的市场加起来,但我只想包括按市场排列的前3行。最终,我希望数据看起来像这样

代码语言:javascript
复制
date        total market     
29/04/2013  1573375550 -- (1500520000 + 73773400 + 7255800)
30/04/2013  1681148500
01/05/2013  1616721200

任何帮助都是非常感谢的。谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-02-03 13:27:12

我认为变量是枚举用于筛选的行的最简单方法:

代码语言:javascript
复制
select date, sum(market)
from (select c.*,
             (@rn := if(@d = date, @rn + 1,
                        if(@d := date, 1, 1)
                       )
             ) as rn
      from coin c cross join
           (select @d := '', @rn := 0) params
      order by date, market desc
     ) c
where rn <= 3
group by date;

评论:

  • 在MySQL,8.0+中,您将使用row_number()而不是变量。
  • 在最新版本的MySQL 5.7中,您可能需要在加法子查询中按date, market desc进行排序。
票数 1
EN

Stack Overflow用户

发布于 2018-02-03 13:17:52

云按日期使用组,限制为3(然后还原结果以获得结果,如您所示)

代码语言:javascript
复制
  select * from (

  select date, sum(market)
  from your_table
  group by date 
  order by date desc limit 3
) t
order by t.date asc
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48597669

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档