を使用して私はこれを行うための最善の方法は、曜日で新しいテーブルを作成していたので、私は今diasSemana空のMySQLのクエリの行が、私は、テーブル名lcMovimientosを持っていると私は必要なの私は、結果としてcantidadMovimientosの量の合計を取得するが、私はそれぞれの行は、日によってになりたいクエリで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の合計が、私は句はので、私は、現在の週から結果を取得する場所、私はもはやので、ここで、週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 |
+---------------------------+-----------+-----------------+
とI 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 |
+---------------------------+-----------+-----------------+
だから私の質問は、私は私が唯一の現在の週の日付を取得するにはどこを使って曜日によって結果を取得するクエリを作ることができる方法です?あまりにも先にありがとう!
を試してみてください。 – Vitamin
**あなたは間違って集約されているので、これは** MySQLはグループごとにランダム 'fechaMovimiento'値を返します。ですので、あなたがそれに基づいてフィルタリングするときには、ランダムな結果を得ています。 – JNK