答案 0 :(得分:1)
答案 1 :(得分:1)
答案 2 :(得分:1)
好像你没有任何要求:
从时间戳更改为日期部分是一件大事。 你不想做一个时间分析? 喜欢什么是维持“foo”发生的最佳时间进行维护。
你不担心尺寸?你说你有数百万条记录(就像那些记录很多),然后你通过一个额外的列扩展每一行。一列不是很多,直到行数突然增加,然后你真的要考虑每一列。
所以要获得过去3天的事件总和,你宁愿这样做
SELECT SUM(totcnt) FROM (
SELECT MAX(Total_count) as totcnt from table where date = today and event = 'Foo'
UNION ALL
SELECT MAX(Total_count) from table where date = today-1 and event = 'Foo'
UNION ALL
SELECT MAX(Total_count) from table where date = today-2 and event = 'Foo'
)
是的,这看起来比>
容易得多SELECT COUNT(*) FROM table WHERE DATE BETWEEN today-2 and today and event = 'foo'
考虑添加行所需的触发器...获取当天和事件的最大值并在每次插入时添加一个......
不确定你有什么样的服务器,但我在285ms内总计了1百万行。那么......你将拥有多少百万,你需要多少时间来总结它们,每次都是相同的日期范围还是完全随机的?