首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于计算总数编号的SQL查询。每天的订单?

用于计算总数编号的SQL查询。每天的订单?
EN

Stack Overflow用户
提问于 2009-07-15 18:30:00
回答 5查看 33.3K关注 0票数 6

任何人都可以发布一个SQL查询来计算总数编号。每天的订单?

这里是列以及它们在我的数据库中的数据。

代码语言:javascript
运行
复制
order_id    order_placed_date   order_total  
 - 1    12/30/2008 12:06:24 AM  2499.99  
 - 2    2/3/2009 1:57:17 AM 199.99  
 - 3    2/3/2009 1:58:27 AM 449.99  
 - 4    5/3/2009 1:58:48 AM 299.99  
 - 5    6/3/2009 2:00:31 AM 359.94
 - 6    6/3/2009 2:01:47 AM 279.97
 - 7    6/3/2009 2:02:31 AM 1359.94
 - 9    7/1/2009 2:21:18 PM 5099.98
 - 10   7/1/2009 2:21:36 PM 2621.97
 - 11   7/2/2009 2:22:18 PM 2169.95
 - 12   7/3/2009 2:23:29 PM 2249.95
 - 13   7/4/2009 2:24:24 PM 5509.95
 - 14   7/5/2009 12:15:17 AM    449.99
 - 15   7/5/2009 12:18:08 AM    2299.99
 - 16   7/5/2009 12:18:28 AM    3999.99
 - 17   7/5/2009 12:18:45 AM    1939.99
 - 18   7/5/2009 11:58:07 PM    39.99
 - 19   7/6/2009 12:00:42 AM    1899.99
 - 20   7/6/2009 12:01:00 AM    3999.99
 - 21   7/7/2009 12:06:38 AM    199.99
 - 22   7/7/2009 12:08:31 AM    1143.97
 - 23   7/7/2009 12:09:13 AM    449.99
 - 26   7/15/2009 1:30:03 PM    5469
 - 27   7/15/2009 2:14:24 PM    329.97
 - 28   7/15/2009 6:18:47 PM    5469
 - 29   7/15/2009 10:17:36 PM   39.99

例如,2009年2月有2份订单

代码语言:javascript
运行
复制
 - 2    2/3/2009 1:57:17 AM     199.99  
 - 3    2/3/2009 1:58:27 AM     449.99  

我需要一个sql查询,它将计算并显示每天的总金额。所以2009年2月3日,总数将是699.98

我需要在图表中显示每天的订单总额

如果使用PHP更容易做到这一点,也要提到它。

更新:

我想澄清一下,我需要这个月每天的总金额。我忘了在我的第一个问题中提到这一点。

所以我用彼得的询问得到了总编号。订单+这个月内每天的总金额。

请让我知道它是否需要任何纠正,或有一个更好和更短的方法来做。

代码语言:javascript
运行
复制
SELECT date(order_placed_date), COUNT(order_id) AS num_orders, SUM(order_total) AS daily_total
FROM orders
WHERE order_placed_date>=date_sub(current_date, INTERVAL 31 DAY)
GROUP BY date(order_placed_date)
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-07-15 18:36:01

MySQL的date()函数将返回一个DATEIME或时间戳值,而不需要任何小时/分钟/秒信息--这意味着您将精度降低到值的日期。

因此,您所需要做的就是按此分组,然后将聚合函数添加到正确的列中。

代码语言:javascript
运行
复制
SELECT date(order_placed_date)
     , COUNT(id) AS num_orders
     , SUM(order_total) AS daily_total
  FROM [Table]
 GROUP BY date(order_placed_date)
票数 9
EN

Stack Overflow用户

发布于 2009-07-15 18:42:59

代码语言:javascript
运行
复制
SELECT date(order_placed_date)
     , COUNT(id) AS num_orders
     , SUM(order_total) AS daily_total
  FROM orders
 GROUP BY 1

只是抄袭了彼得的答案,但改变了它,这样才能奏效。再加上把这群人搞砸了。

票数 1
EN

Stack Overflow用户

发布于 2009-07-15 18:34:28

按组是你在这里的朋友。它可以聚合成组的行。一个示例查询将是:

代码语言:javascript
运行
复制
SELECT order_placed_date, SUM(order_total)
  FROM orders
 GROUP BY order_placed_date

当然,在您的示例中,您可能希望仅使用http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_date函数提取日期/月/年部分,并按此进行分组。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1133109

复制
相关文章

相似问题

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