【发布时间】:2013-08-17 11:47:38
【问题描述】:
表结构是,
Table name: btq_user
name, email, kall, state_id, datain
现在我想每周计算 kall = 1 或 state_id in(51,20,46) 的数字记录。 无论年份是否变化,我都只需要每周(周一 - 周日)的结果。例如,31-12-2012 是星期一,6-1-2013 是星期日,所以结果应该包括一周。无论年份是否变化,它都应该只计算几周。
这是我尝试过但不起作用的方法。
SELECT
count( if( A.state_id = 51 or A.state_id = 20 or A.state_id = 46, A.state_id,
null ) ) AS state_total, count( if( A.kall =1, A.kall, null ) ) AS appointment,
CONCAT( WEEK( A.datain) , " -
", YEAR( A.datain ) ) AS week
FROM btq_user A
GROUP BY week
ORDER BY A.datain ASC
还有没有可能显示周 (31-12-2012 - 6-1-2013) 的结果?
感谢您阅读我的问题。
【问题讨论】:
-
你有关于列数据的索引吗?现在表中有多少条记录?