【发布时间】:2016-09-04 18:01:56
【问题描述】:
我有下表。
select * from `consumo`;
输出:
+----+------------+-----------------+---------------------+
| id | cedula | registroConsumo | fecha-hora |
+----+------------+-----------------+---------------------+
| 1 | 0931111111 | 20 | 2016-08-17 13:52:48 |
| 2 | 0931111111 | 25 | 2016-08-17 13:53:01 |
| 3 | 0311111111 | 27 | 2016-08-17 13:54:23 |
| 4 | 0311111111 | 10 | 2016-08-17 13:54:26 |
| 5 | 0311111111 | 12 | 2016-08-17 13:54:29 |
| 6 | 0311111111 | 14 | 2016-08-17 13:54:34 |
| 7 | 0311111111 | 19 | 2016-08-17 13:54:38 |
| 8 | 0311111111 | 190 | 2016-08-17 13:54:44 |
| 9 | 0311111111 | 195 | 2016-08-17 13:54:48 |
| 10 | 0912223333 | 19 | 2016-08-17 13:54:54 |
| 11 | 0111111111 | 20 | 2016-08-17 13:54:59 |
| 12 | 0111111111 | 23 | 2016-08-17 13:55:03 |
| 13 | 0111111111 | 27 | 2016-08-17 13:55:07 |
| 14 | 0111111111 | 35 | 2016-08-17 13:55:11 |
| 15 | 0111111111 | 10 | 2016-08-17 13:55:14 |
| 16 | 0111111111 | 35 | 2016-09-04 12:10:01 |
| 17 | 0111111111 | 330 | 2016-09-04 12:10:06 |
+----+------------+-----------------+---------------------+
我想按年和月分组,但只显示月和年的结果,实际都在Mysql中。
我这样做了:
select SUM(`registroConsumo`) from `consumo`
GROUP BY YEAR(`fecha-hora`),MONTH(`fecha-hora`)
HAVING YEAR(`fecha-hora`) = SELECT EXTRACT (YEAR FROM (SELECT NOW()))
AND MONTH(`fecha-hora`) = SELECT EXTRACT (MONTH FROM (SELECT NOW())) ;
我收到此错误:
ERROR 1064 (42000):您的 SQL 语法有错误;检查手册 对应于您的 MySQL 服务器版本,以便在第 1 行的
SELECT EXTRACT (YEAR FROM (SELECT NOW())) AND MONTH(`fecha-hora`) = SELECT EXTRA附近使用正确的语法
【问题讨论】:
-
你的结果是什么?请发布任何错误,以及完整的 MySQL 或 PHP 代码。
-
为了理智,请不要在表/列标识符中使用“-”。
标签: mysql