我想获得按日期分组的cmb_scenarios。就像
romberg(fone(x),..)
但是在执行此查询时,我一直在“
您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 'scenario1,SUM(IF(DATE(datestamp)= 2018-01-08,1,0)附近)AS _NULL,SUM(IF(DATE'at“。
我完成了本教程here,我的查询如下:
+----------------------------------+------+-------+-------+-------+
| cmb_scenario | 2017-05-10 | 2017-05-12 | 2017-06-7 | 2018-01-01 |
+----------------------------------+------+-------+-------+-------+
| scenario | 0 | 0 | 0 | 1 |
| scenario1 | 1047 | 549 | 637 | 492 |
| scenario2 | 0 | 1 | 2 | 5 |
| scenario3 | 0 | 0 | 0 | 1 |
| scenario4 | 23 | 3 | 1 | 0 |
我不知道我做错了什么,因为我按原样接受了教程。
Coulmns是:
SET @sql_dynamic = (SELECT GROUP_CONCAT( DISTINCT CONCAT('SUM( IF(DATE(datestamp) = ', DATE(datestamp), ', 1,0) ) AS _', DATE(datestamp))) FROM leases);
ET @sql = CONCAT('SELECT cmb_scenario, ', @sql_dynamic, ' FROM leases GROUP BY cmb_scenario WITH ROLLUP');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
答案 0 :(得分:0)
你需要在=',DATE(datestamp)的日期(日期戳)部分周围连接引号,你需要替换在AS _',DATE(datestamp)中返回的减号( - )