0

我已经尝试了大约 10 种不同的查询变体,类似于以下内容:

SELECT WEEKOFYEAR( dateline ) AS weekno, COUNT( 1 ) AS posts
FROM post
GROUP BY WEEKOFYEAR( dateline )
LIMIT 0 , 30

结果数据总是一些结果和大约 600,000 个“NULL”,如下所示:

weekno  posts
NULL    591843
1   57
2   42
3   25
4   44
5   9
6   38
7   15
8   41
9   10
10  130
11  77
12  69
13  36
14  25
15  25
16  24
17  44
18  42
19  14
20  49
21  70
22  41
23  40
24  57
25  40
26  31

这是 的表结构dateline

#   Name    Type    Collation   Attributes  Null    Default     Extra
7   dateline    int(10)         UNSIGNED    No  0   

所有行在日期线中都有一个值。

我需要按周进行某种小组的工作,因为最终我想绘制出带有和不带有指定论坛部分的帖子活动。我不知道为什么我会得到所有这些NULL结果。

4

1 回答 1

1

我认为您的日期以unixtime整数格式存储,假设它是unixtime尝试FROM_UNIXTIME函数

SELECT WEEKOFYEAR(FROM_UNIXTIME(dateline)) AS weekno, COUNT( 1 ) AS posts
FROM post
GROUP BY WEEKOFYEAR(FROM_UNIXTIME(dateline))
LIMIT 0 , 30

要从不同年份返回几周,试试这个

SELECT 
FROM_UNIXTIME(dateline, '%Y') Year,
WEEKOFYEAR(FROM_UNIXTIME(dateline)) AS weekno, COUNT( 1 ) AS posts
FROM post
GROUP BY FROM_UNIXTIME(dateline, '%Y'), WEEKOFYEAR(FROM_UNIXTIME(dateline))
LIMIT 0 , 30

在这里演示

于 2013-08-10T22:18:51.087 回答