统计某个用户的每日订单总额

2017-09-20 14:26:45 +08:00
 treedon
材料:user 表 and order 表(order 表有下单日期,订单金额)
需求 : 统计某用户 指定的日期范围内 [每日] 订单总额

其实功能已经实现,用循环写出来了. 但是用循环去泡 sql 是很低端的做法

故到这里寻求更好的思路。
6792 次点击
所在节点    MySQL
32 条回复
treedon
2017-09-20 15:21:59 +08:00
@liprais 我单独使用 select from_unixtime(1505871005); 是没问题的

但是写 SELECT
from_unixtime('create_time') AS day_day,
sum(total_price) AS day_sum
FROM
zjr_deal_order
WHERE
user_id = 999999
GROUP BY
from_unixtime('create_time');

执行结果就是
1970-01-01 08:00:00.000000 26.50
goddoger
2017-09-20 15:22:52 +08:00
SELECT SUM(jine) as 总金额 ,username from `order` WHERE addtime='2017-09-10' GROUP BY username
liprais
2017-09-20 15:24:37 +08:00
@treedon
from_unixtime('create_time') AS day_day
这个地方是单引号?去掉试试
oongxx
2017-09-20 18:00:25 +08:00
select sum(amount) ... group by userid, orderdate
Cabana
2017-09-20 20:33:51 +08:00
这种事情不是数据库视图干的活吗?直接 SQL 联表查呗
wyk52012
2017-09-21 10:46:04 +08:00
SELECT
DATE(gmt_create_date) AS 'order_create_date',
SUM(order_total_amount) AS 'daily_order_amount'
FROM t_101_s_021_order
WHERE
gmt_create_date BETWEEN '2017-08-01' AND '2017-09-20'
AND user_id = 'you user id'
GROUP BY
order_create_date;

> 指定时间查询区间
> 指定用户
> 按照日期切割
> 获取单个用户某个日期段内每日的订单额
liuzhen
2017-09-21 11:09:42 +08:00
SELECT
date('create_time') AS day_day,
sum(total_price) AS day_sum
FROM
`order`
WHERE
user_id = 999999
and create_time BETWEEN '2017-08-01' AND '2017-09-20'
GROUP BY
date('create_time');
treedon
2017-09-21 11:48:24 +08:00
@liprais 可以了...from_unixtime(create_time)
括号里面不能加那个引号,估计当成字符串了,没当成字段名
昨天想回复您的,但是 v2 站说我回复太频繁, 禁了我回复 t t
现在应该可以回复了
treedon
2017-09-22 16:46:15 +08:00
@liprais 您还在吗
liprais
2017-09-22 17:28:04 +08:00
@treedon 有问题直接问,别人看到也会帮助你的
treedon
2017-09-25 16:22:52 +08:00
@liprais 哈哈 都解决了
guojxx
2018-01-19 15:17:25 +08:00
那你可能需要 sql 中有一个 叫做标量函数 month() year()之类的 直接统计

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/392251

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX