【问题标题】:Aggregating a resultset in java在java中聚合结果集
【发布时间】:2015-05-26 06:18:02
【问题描述】:

我有一个包含以下数据的销售数据库表:

年份   月份  花型   总销售额
2014 1          蒲公英       100
2014   2         蒲公英       100
2014年2玫瑰100


2014年3玫瑰100

2015 1          蒲公英       100
2015   2         蒲公英       100

我想根据其他列添加总销售额数据的聚合,如下所示:

年份   月份  花型   总销售额
2014 1          蒲公英       100
2014   2         蒲公英       100
2014年2玫瑰100


2014年3玫瑰100

2015 1          蒲公英       100
2015   2         蒲公英       100


全部       1         蒲公英       200
所有       2          蒲公英       200
所有2玫瑰200

所有3岁玫瑰100
2014                                                                            200 2014 年          玫瑰               200
2015   所有        蒲公英       200
2014年1所有100

2014 2所有200
2014 3所有100
2015 1所有100
2015 2所有 100
所有的蒲公木400

所有全部玫瑰200 400
2015所有200


所有200 300
全部      3         全部 100
所有                                                                                                                                                                                                                                                                                                         = 600

有人可以将我推向正确的方向,连接到数据库后,我应该怎么做?我想用Java来做。我也想以一种有效的方式来做,因为真实的表包含更多的列/记录。

澄清一下:我想编写一个插入聚合数据的智能脚本。我想听听关于该脚本应该如何工作的一些想法。谢谢!

【问题讨论】:

  • 这个问题非常不具体。您是绝对的 Java 初学者吗?还是你不知道如何连接数据库、检索数据和更新表格?
  • 你要问的是如何在SQL中使用GROUP BYSUM等东西
  • 是的,我确实知道如何连接到数据库并插入/检索数据,但我想知道如何以有效的方式将所有这些记录与聚合数据一起插入。不过谢谢你的回答,我会更新我的问题。

标签: java sql database optimization resultset


【解决方案1】:

我建议为每个特定聚合创建views,然后在这些聚合上发出一个简单的SELECT。例如:

all       1           dandalion       200
all       2           dandalion       200
all       2           rose            200
all       3           rose            100 

可能是

SELECT 'all' as year, month, flowertype, sum(totalsales) from sales group by month, flowertype order by month

和下一个区块

2014   all         dandalion       200
2014   all         rose            200
2015   all         dandalion       200 

可能是

SELECT year, 'all' as month', flowertype, sum(totalsales) from sales group by year, flowertype order by year

等等

【讨论】:

  • 好的,谢谢,但是我的真实表包含很多需要作为块插入的列/聚合数据的组合。我想写的是一个 Java 程序,它以一种有效的方式为我做这件事。关于这个程序应该如何插入数据的任何想法?
猜你喜欢
  • 1970-01-01
  • 2018-06-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-16
  • 2019-07-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多