2014-02-28 50 views
0
 
Table users : 
id  (int) 
status (int) 
regdate (datetime) 

我想要得到的结果regdate的顺序,数量(ID)的和组的状态。Mysql查询与群组?

例如:

 
Date   Count(status = 3) Count(status = 4) Count(status = 5)
2014-02-24 2 5 8 2014-02-25 2 5 8

我们要有获得每天只一行的结果。

预先感谢太多。

+2

这就是所谓的数据透视查询,而且mysql不直接支持它们。该解决方法很难看,并且非常快速地得到极其不可维护性。正常提取查询并在客户端代码中进行col-> row转换。 –

回答

2

可以使用SUM()与条件,如果有法规限制像3,4,5,在SUM()的表达被评估为布尔值,对于n个没有。的法令看看Marc B的意见

SELECT 
regdate, 
SUM(status = 3), 
SUM(status = 4), 
SUM(status = 5) 
FROM `table` 
GROUP BY regdate 
ORDER BY regdate 
+0

感谢您的帮助,但它不工作:( – vural

+0

@vural你能添加[SQL小提琴示例](http://sqlfiddle.com/)你的表定义和样本数据集 –

+0

感谢您的帮助的。这是我的错,现在它清楚地工作,如果 – vural