2012-03-23 53 views
0

我一直在与MySQL的各种时间/日期操作摔跤,还没有想出如何完成这件事。我正在尝试选择列的每日总和,volume。我的日期列包含sysmillis(epoch * 1000)。我已经尝试过的东西,如当你有时代或sysmillis时间戳mysql选择,总和,按日期分组

SELECT YEAR(from_unixtime(date/1000)) FROM... 

和我没有试过的伎俩。我想结束的是一个结果表格,它为每天的所有交易volume列做了总和。对我来说似乎是一个非常简单的想法,但它不起作用。这是我需要做一个嵌套查询做的事情,还是应该这只是一个简单的一行,我只是没有得到正确的功能?

+3

发表了一些你想要做的事。 – 2012-03-23 15:28:05

回答

2
SELECT DATE(FROM_UNIXTIME(date/1000)) AS date, SUM(volume) 
FROM ... 
WHERE ... 
GROUP BY date 

应该做的伎俩,除非你的表结构不吉利。

+0

+1 for * wonky *! – JYelton 2012-03-23 15:39:34

0
SELECT SUM(volume) FROM (
    SELECT 
     SUBSTR(FROM_UNIXTIME( ROUND(volumeDate /1000) ), 1, 10) AS dayValue, 
     volume FROM `volumeTable` 
    ) a 
GROUP BY dayValue 
+0

ummm ...从日期时间类型中提取日期的字符串操作?为什么不只是'DATE()'? – 2012-03-23 16:01:50

+0

你的权利。 DATE()可能会更快。 – 2012-03-27 12:09:50