我有以下MySQL查询,和我想要所以只取得成果,这是当月内(当年的)来调整它,我猜你可能需要更多的信息关于我的MySQL结构,所以在这里它去 - 我有存储在time
列(referrals
桌下)在PHP中的time()
产生一个UNIX时间戳,所以用下面的设置这将是t2.time
。MySQL仅在当前月份内?
所以我的问题是我不能确定如何进行,我猜它会是这样的添加结束WHERE
款以下? =>AND t2.time IS WITHIN THE CURRENT MONTH
(大写只是为了区分问题与查询的其余部分)但我不知道如何检查其当前月份内。
MySQL查询:
SELECT t1.username,
t1.website,
SUM(IF(t2.type = 'in', 1, 0)) AS in_count,
SUM(IF(t2.type = 'out', 1, 0)) AS out_count
FROM users AS t1
JOIN referrals AS t2
ON t1.username = t2.author
WHERE t1.website != ''
GROUP BY t1.username,
t1.website
ORDER BY in_count DESC
LIMIT 0, 10
感谢所有帮助! :乙
您是否知道数据类型`time`不存储年份和月份的详细信息?这意味着你的应用程序将在2012年遇到问题 – ajreal 2011-01-11 07:06:42
@ajreal我不知道我理解你,但类型是数据库中的INT,并且它是由time()生成的UNIX时间戳。 – newbtophp 2011-01-11 07:08:05
所以不是数据类型`time`?我不好,在所有成本,避免使用保留的关键字作为列或表 – ajreal 2011-01-11 07:11:05