J'ai une requête MySQL qui entraîne parfois des valeurs manquantes. Pour mon tableau de bord, je voudrais remplir ces valeurs, mais préférez éviter de construire des tables factices si je peux.
Query: P>
+---------------------+ | Comms_Timestamp | +---------------------+ | 2018-12-24 06:04:05 | | 2018-12-24 12:18:39 | | 2018-12-21 04:24:31 | | 2018-12-21 08:32:44 | | 2018-12-30 01:41:06 | | 2018-12-30 01:53:00 | | 2018-12-30 01:53:39 | | 2018-12-30 02:00:01 | | 2018-12-17 15:55:03 | | 2018-12-17 16:04:12 | | 2018-12-17 16:05:41 | | 2018-12-17 16:07:43 | | 2018-12-17 16:10:25 | | 2018-12-18 14:03:22 | | 2018-12-18 14:03:29 | | 2018-12-18 14:10:19 | | 2018-12-18 14:10:29 | | 2018-12-18 14:10:31 | | 2018-12-18 14:10:47 | | 2018-12-18 14:10:55 | | 2018-12-20 08:21:07 | | 2018-12-28 11:03:59 | | 2018-12-28 12:06:40 | | 2018-12-28 12:15:01 | | 2018-12-28 14:29:24 | | 2019-01-05 13:33:43 | +---------------------+
3 Réponses :
Si vous utilisez mariadb, il y a leur Moteur de stockage de séquence A > Il n'y a pas de création nécessaire pour cette table, mais la valeur maximale doit être connue. P>
seq | a
--: | ---:
1 | null
2 | 2
3 | null
4 | 4
5 | null
malheureusement je cours mysql pour celui-ci
Vous pouvez utiliser une fonction ifnull () dans MySQL:
SELECT IFNULL(COUNT(C.Comms_Timestamp),0) as call_count,IFNULL(DAYOFWEEK(C.Comms_Timestamp),0) as bucket FROM tblCommunication as C LEFT JOIN tblCareTeam as CT on C.id_Case = CT.id_Case GROUP BY CT.id_Site,bucket HAVING CT.id_Site=8;
Désolé quefintly ne fait rien
Depuis que vous utilisez MySQL et n'ayez pas accès à l'option SEQ _ code>, voici une solution alternative:
SELECT A.x AS bucket, IF(ISNULL(COUNT(t2.Comms_Timestamp)), 0, COUNT(t2.Comms_Timestamp)) AS call_count FROM
(select 1 x union select 2 union select 3 union select 4 union select 5 union select 6 union select 7) AS A
LEFT JOIN tblTest AS t2 ON DAYOFWEEK(t2.Comms_Timestamp) = A.x
GROUP BY bucket
ORDER BY bucket;
Pouvez-vous publier peu de choses comme la structure des deux tables avec certaines données dedans? Ce beaucoup d'informations est inadéquate pour suggérer correctement.
Cela pourrait vous aider Link
@Ravigaudani Je tente spécifiquement d'éviter de construire des tables vides.
@Bhushanshinde fait