我有一個表名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