我有一个表名lcMovimientos和我需要的是一个查询在那里我得到的结果cantidadMovimientos数量的总和,但我想每一行是由的一天一周只来总结的日子本周的,所以研究后,我发现这样做是创造为期一周的天新表的最好办法,所以我现在有一个名为diasSemana空行的MySQL查询,但使用WHERE
SELECT * FROM diasSemana
+-----------+
| diaSemana |
+-----------+
| 0 |
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
+-----------+
表和一个名为lcMovimientos的表
mysql> DESCRIBE lcMovimientos;
+-----------------------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------------+---------------+------+-----+---------+----------------+
| idMovimiento | int(11) | NO | PRI | NULL | auto_increment |
| idUsuario | int(11) | YES | | NULL | |
| tipoMovimiento | tinyint(4) | YES | | NULL | |
| cantidadMovimiento | decimal(20,2) | YES | | NULL | |
| idCategoria | int(11) | YES | | NULL | |
| fechaMovimiento | date | YES | | NULL | |
| idCuenta | int(11) | YES | | NULL | |
| descripcionMovimiento | varchar(255) | YES | | NULL | |
| etiquetasMovimiento | varchar(255) | YES | | NULL | |
+-----------------------+---------------+------+-----+---------+----------------+
我可以做一个查询,我在哪里得到该cantidadMovimiento的总和,但是当我添加where子句,所以我只能从当前周的结果,我不再按天FO一周拿到行,所以这里是我的查询:
mysql> SELECT SUM(cantidadMovimiento) , diaSemana, fechaMovimiento -> FROM diasSemana
-> LEFT JOIN lcMovimientos ON diaSemana = WEEKDAY(fechaMovimiento)
-> GROUP BY diaSemana;
+---------------------------+-----------+-----------------+
| SUM(cantidadMovimiento) | diaSemana | fechaMovimiento |
+---------------------------+-----------+-----------------+
| 280.00 | 0 | 2012-02-20 |
| 800.00 | 1 | 2012-02-21 |
| 7000.00 | 2 | 2012-02-29 |
| NULL | 3 | NULL |
| NULL | 4 | NULL |
| -3300.78 | 5 | 2012-02-18 |
| 600.00 | 6 | 2012-02-26 |
+---------------------------+-----------+-----------------+
,当我使用WHERE子句:
mysql> SELECT SUM(cantidadMovimiento) , diaSemana, fechaMovimiento
-> FROM diasSemana
-> LEFT JOIN lcMovimientos ON diaSemana = WEEKDAY(fechaMovimiento)
-> WHERE WEEK(fechaMovimiento, 1) = WEEK(CURRENT_DATE, 1)
-> GROUP BY diaSemana;
+---------------------------+-----------+-----------------+
| SUM(cantidadMovimiento) | diaSemana | fechaMovimiento |
+---------------------------+-----------+-----------------+
| 265.00 | 0 | 2012-02-20 |
| 800.00 | 1 | 2012-02-21 |
| 600.00 | 6 | 2012-02-26 |
+---------------------------+-----------+-----------------+
所以我的问题是如何让我的查询,我会使用到哪只得到当前一周的日期在一周的某一天得到的结果???提前感谢你!
这不是一个PHP的问题。 – Vitamin 2012-02-20 19:41:27
**这是因为你聚集错了。** MySQL将返回每组随机'fechaMovimiento'值,所以当你在它过滤你得到随机的结果。 – JNK 2012-02-20 19:42:54