用SQL日期函数找每个月的销售总额

2008-11-21    | |
打印本文章
RSS

导读:在本文中专家解决了如何按照月份将每个月的销售量在聚集在一起的问题。他建议直接用日期函数的GROUP BY应用程序。

关键词:Oracle Oracle SQL SQL日期函数

正在加载数据... 【TechTarget中国原创】我们假设的一个例子。我有一些出售小部件的售货员。在我的数据库中列出了每天每个销售员出售的这些部件的数量。例如,Fred在08年10月23日售出了2个,John售出的数量为5。现在是08年10月24日,Fred售出了14个而John出售的数量为2等等并以此类推一年的时间。每个数量都是按日期来记载。但是我想把这些日期按照月份聚集在一起,这样我们就能查看每个售货员每个月的销售量了。我怎么才能将这些月份的日期聚集在一起呢?

【TechTarget中国原创】问:我们假设的一个例子。我有一些出售小部件的售货员。在我的数据库中列出了每天每个销售员出售的这些部件的数量。例如,Fred在08年10月23日售出了2个,John售出的数量为5。现在是08年10月24日,Fred售出了14个而John出售的数量为2等等并以此类推一年的时间。每个数量都是按日期来记载。但是我想把这些日期按照月份聚集在一起,这样我们就能查看每个售货员每个月的销售量了。我怎么才能将这些月份的日期聚集在一起呢?

  答:你可以直接用日期函数的GROUP BY应用程序。这里唯一的问题就是你能够用哪个日期函数。日期函数的确要比你临时采用SQL Standards数据类型要好得多,所以许多的数据库系统都有自己的数据类型。在Standard SQL中,你需要用EXTRACT这个函数:


SELECT EXTRACT(MONTH FROM salesdate) AS salesmonth
     , salesperson
     , SUM(salesqty) AS total_sales
  FROM widget_sales
GROUP
    BY EXTRACT(MONTH FROM salesdate) 
     , salesperson
ORDER
    BY EXTRACT(MONTH FROM salesdate)
     , total_sales DESC

  如果表中包含的时间为一年以上(尽管在你的问题中并没有说明这一点),该查询的结果仍是所有年份中的月销售量。

  注意ORDER BY语句的得到的结果是按照月分类的,而且每个月的销售额都是按照降序排列。

查看全文
相关的白皮书
 
如何创建数据连接?如何导出或导入数据库连接?怎样浏览数据库对象?本文针对上述几个问题详细介绍如何使用SQL Developer来操作Oracle数据库。
 
Oracle SQL Developer是一款怎样的工具?它具有什么功能?本文主要介绍如何使用SQL Developer来操作Oracle数据库。
 
如何查看手册?如何查找信息?如何使用Oracle数据库SQL参考手册?本文针对上述问题通过图例进行了详细阐述。
 
如何打开并保存SQL语句?如何输入并执行一个SQL脚本?本文侧重介绍使用SQL Developer执行SQL语句的过程中的这两个问题。
 
在使用SQL Developer执行SQL语句的过程中我们如何使用摘录窗口?如何处理语法错误?
在SQL Server中,我们如何进行索引设计来提升系统的性能和对查询进行优化,是许多用户非常关注的问题,在本次技术专题中,我们将分群集索引和非群集索引设计两部分来为您详细分析。
本技术专题主要为使用Oracle SQL Developer和其他开发工具。包括如何使用Oracle SQL Developer和其他开发工具、使用Oracle Database Home Page、在Oracle中使用SQL*Plus等方面。
本专题为QL SELECT语句基础。侧重概述了如何使用SELECT来访问SQL数据库中所有内容以及组成SELECT语句的许多子句名称和功能;同时还阐述了如何使用DISTINCT关键字消除重复的行,以及如何正确使用ORDER BY子句来排序数据。
最新更新
专家答疑
技巧
Brian Fedorko
Oracle数据库审计功能十分强大、灵活并且易于配置,适当并有效地使用数据库审计功能是拥有高效安全策略的基础。
Brian Peasland
Oracle数据库二进制文件和库文件是高版本版本的,而备份的数据库内部如果仍然是较低版本,那么Oracle将不允许你打开数据库,除非你完成了升级过程。
Maria Anderson
在Windows XP环境下,使用数据库升级助手将Oracle从9.2.0.1升级到10g R2,出现DBUA不能识别Oracle数据库的SID问题如何解决。

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
登录Email
请输入您的登录Email
密码
下次自动登录