我该如何分组?这是我的查询
select t.date, group_concat(count(*)) from table1 t
group by t.date
但它返回错误“无效使用组功能”
如果我使用这样的查询
select t.date, count(*) from table1 t
group by t.date
然后它返回以下输出但我想group_concat这个输出
2011-01-01 100
2011-01-02 97
2011-01-03 105
答案 0 :(得分:0)
您是否要按日期计算日期行数?
我使用此语句计算特定月份中每个日期的发票项目数。
SELECT date(i.Date), count(*) cnt
FROM invoice i
WHERE MONTH(i.Date) = 3
GROUP BY date(i.Date)
这将对所有相同的日期进行分组。这是你的意思吗?
我将GROUP_CONCAT用于返回多行的子查询。
*编辑* OUPS,看到我的建议和你已经尝试过的一样。然后我不明白你在找什么。能否请您展示一个期望结果的例子?
答案 1 :(得分:0)
SELECT GROUP_CONCAT(`cnt` ORDER BY `date`)
FROM (
SELECT t.`date`, COUNT(*) AS `cnt`
FROM `table1` t
GROUP BY t.`date`
) d
答案 2 :(得分:0)
你想要这样的东西:
SELECT GROUP_CONCAT(n) groupN
FROM (SELECT COUNT(*) n
FROM table1
GROUP BY date) tmp
但这不是RDBMS的作用!化妆品是您的应用程序语言(PHP,Python,Ruby等)的作用,您的查询应该只选择您的数据,期间。因此,在这种情况下,GROUP_CONCAT不是解决方案。