我很确定这很容易,而且我很蠢,所以提前抱歉!
我只想要以日期作为标题的列。
EG:
SELECT X, Y, Z,
SUM(IF(date = curdate() - interval 31 DAY, COUNT(VOLUME), "")) as CURDATE() - interval 31 DAY
非常好,将音量加总一天,并将列标记为已计算的日期。
我是否大规模脱离目标?
搜索导致尝试:
SET $31 = CURDATE() - interval 31 day;
SELECT data as $31
这只会产生31美元的标签,而不是它应该拉的价值。
我输入了大约30个堆栈溢出问题,但通常在打字时修复它们。然而,这一点,没有喜悦。任何帮助赞赏。圣诞快乐。
期望: Col1,Col2,Col3,23-11-2015,24-11-2015,25-11-2015等
答案 0 :(得分:0)
使用存储过程可以相对简单地实现此类结果。
DELIMITER //
CREATE PROCEDURE test_col_name ()
BEGIN
SET @stmt := CONCAT("SELECT 1 AS '", CURDATE(), "'");
PREPARE p_stmt FROM @stmt;
EXECUTE p_stmt;
DEALLOCATE PREPARE p_stmt;
END//
mysql> call test_col_name();
+------------+
| 2015-12-23 |
+------------+
| 1 |
+------------+
1 row in set (0.09 sec)