繁体   English   中英

按星期几分组销售

[英]Group sales by day of the week

我有一张看起来像这样的桌子

sell_price double        buy_price double      time int(11)
31.5                     20.5                  1353755931 (2012-11-27)
20                       10.5                  1353755235 (2012-11-27)
40                       30                    1353752531 (2012-11-26)
50                       25                    1353751237 (2012-11-26)
40                       10                    1353745609 (2012-11-25)           

我正在尝试将所有值分组以获得一周中每天的销售额,所需的表应如下所示:

sell_price double        buy_price double      time int(11)
51.5                     30.5                  1353755931 (2012-11-27)
90                       55                    1353755931 (2012-11-26)
40                       10                    1353755931 (2012-11-25) 

我尝试了以下查询,但我似乎有分组问题

SELECT sell_price, buy_price, time 
FROM sales 
GROUP BY DAY(time) 
ORDER BY time DESC

以上查询仅返回1行

31.5       20.5      1353755931 

实现这一目标的正确方法是什么?

SELECT DATE(FROM_UNIXTIME(time)) time,
       SUM(sell_price),
       SUM(buy_price)
FROM tableName
GROUP BY DATE(FROM_UNIXTIME(time))

这个小提琴你可以看到,

SELECT
            sell_price,
            buy_price,
            time,
            day(time)
    FROM
        sales

day(time)计算为null ,因为您没有为价格指定任何aggratetion函数,所以您只获得所有内容的第一行。

如果你检查这个小提琴

SELECT
            sell_price,
            buy_price,
            date(from_unixtime(time))
    FROM
        sales;

您将看到所有数据都在同一天,假设这些数字是有效的unix时间。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM