Je teste cette requête:
SELECT log_veh_id,
MONTH( log_fecha_tiempo ) AS mes,
YEAR(log_fecha_tiempo ) AS anio,
SUM( log_total ) AS suma
FROM `dat_fuel_log`
WHERE log_veh_id IN ('1,2,3,4,5,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24')
GROUP BY MONTH( log_fecha_tiempo ) , YEAR( log_fecha_tiempo )
ORDER BY log_fecha_tiempo DESC
Et je n'obtiens que quelques résultats:
+------------+------+------+--------+
| log_veh_id | mes | anio | suma |
+------------+------+------+--------+
| 1 | 9 | 2017 | 85.00 |
| 1 | 8 | 2017 | 146.32 |
| 1 | 7 | 2017 | 187.26 |
| 1 | 6 | 2017 | 257.81 |
| 1 | 5 | 2017 | 263.65 |
| 1 | 4 | 2017 | 152.73 |
| 1 | 3 | 2017 | 193.28 |
| 1 | 2 | 2017 | 222.33 |
| 1 | 1 | 2017 | 114.02 |
+------------+------+------+--------+
Il y a beaucoup plus de log_veh_id = 1 et d'autres IDs (log_veh_id) qui satisfont la clause WHERE IN, pas seulement des 1.
Étant donné que toutes les valeurs log_veh_id seront effectivement dans les valeurs (WHERE IN), je m'attends à ce que tous les résultats de la table soient retournés comme si je supprimais la clause WHERE IN.