NachfragehintergrundAls statistische Schnittstelle muss das Front-End zwei Arrays zurückgeben, eines ist die Stundenzählung von 0 bis 23 und das andere ist die statistische Zahl, die jeder Stunde entspricht. Die Idee besteht darin, group by direkt zu verwenden, um die zu zählende Tabelle abzufragen. Wenn die statistische Zahl einer bestimmten Stunde 0 ist, wird für diese Stunde keine Gruppierung durchgeführt. Nachdem ich darüber nachgedacht habe, muss ich eine Hilfstabelle mit nur einer Spalte für Stunden erstellen und dann 0-23 für insgesamt 24 Stunden einfügen CREATE TABLE Stundenliste ( Stunde int NICHT NULL PRIMÄRSCHLÜSSEL ) Prüfen Sie zunächst die Stundentabelle, verknüpfen Sie anschließend die zu prüfende Tabelle und tragen Sie für die Stunden ohne Statistik 0 ein. Da wir hier mehrere Tabellen abfragen müssen, liegt die Erstellungszeit innerhalb jedes Stundenintervalls und die Quell-ID entspricht der statistischen Summe der Abfragebedingungen. Führen Sie daher eine UNION für alle mehreren Tabellen durch. WÄHLEN t.STUNDE, Summe(t.HOUR_COUNT) Stundenanzahl AUS (WÄHLEN hs. STUNDE ALS STUNDE, ANZAHL(cs.RECORD_ID) AS HOUR_COUNT AUS cbc_hours_list hs LEFT JOIN cbc_source_0002 cs ON STUNDE (cs.create_time) = hs.STUNDE UND cs.create_time > #{startTime} UND cs.create_time <= #{endTime} <#wenn Quell-ID?existiert && Quell-ID !=''> UND SOURCE_ID = #{sourceId} </#if> GRUPPELN NACH hs. STUNDE UNION ALLE WÄHLEN hs.STUNDE ALS STUNDE, ANZAHL(cs.RECORD_ID) AS HOUR_COUNT AUS cbc_hours_list hs LEFT JOIN cbc_source_hs cs ON STUNDE (cs.create_time) = hs.STUNDE UND cs.create_time > #{startTime} UND cs.create_time <= #{endTime} <#wenn Quell-ID?existiert && Quell-ID !=''> UND SOURCE_ID = #{sourceId} </#if> GRUPPELN NACH hs. STUNDE UNION ALLE WÄHLEN hs.STUNDE ALS STUNDE, ANZAHL(cs.RECORD_ID) AS HOUR_COUNT AUS cbc_hours_list hs LEFT JOIN cbc_source_kfyj cs ON STUNDE (cs.create_time) = hs.STUNDE UND cs.create_time > #{startTime} UND cs.create_time <= #{endTime} <#wenn Quell-ID?existiert && Quell-ID !=''> UND SOURCE_ID = #{sourceId} </#if> GRUPPELN NACH hs. STUNDE UNION ALLE WÄHLEN hs.STUNDE ALS STUNDE, ANZAHL(cs.RECORD_ID) AS HOUR_COUNT AUS cbc_hours_list hs LEFT JOIN cbc_source_his_0002 cs ON STUNDE (cs.create_time) = hs.STUNDE UND cs.create_time > #{startTime} UND cs.create_time <= #{endTime} <#wenn Quell-ID?existiert && Quell-ID !=''> UND SOURCE_ID = #{sourceId} </#if> GRUPPELN NACH hs. STUNDE UNION ALLE WÄHLEN hs.STUNDE ALS STUNDE, ANZAHL(cs.RECORD_ID) AS HOUR_COUNT AUS cbc_hours_list hs LEFT JOIN cbc_source_his_hs cs ON STUNDE (cs.create_time) = hs.STUNDE UND cs.create_time > #{startTime} UND cs.create_time <= #{endTime} <#wenn Quell-ID?existiert && Quell-ID !=''> UND SOURCE_ID = #{sourceId} </#if> GRUPPELN NACH hs. STUNDE UNION ALLE WÄHLEN hs.STUNDE ALS STUNDE, ANZAHL(cs.RECORD_ID) AS HOUR_COUNT AUS cbc_hours_list hs LEFT JOIN cbc_source_his_kfyj cs ON STUNDE (cs.create_time) = hs.STUNDE UND cs.create_time > #{startTime} UND cs.create_time <= #{endTime} <#wenn Quell-ID?existiert && Quell-ID !=''> UND SOURCE_ID = #{sourceId} </#if> GRUPPELN NACH hs. STUNDE) t GRUPPELN NACH t.Stunde WirkungEs können auch Stunden mit einem statistischen Zählerwert von 0 gefunden werden. Dies ist das Ende dieses Artikels über die stündliche Abfrage von MySQL-Daten und das Ausfüllen fehlender Daten mit Nullen. Weitere Informationen zur stündlichen Abfrage von MySQL-Daten finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: Aktivieren Sie den SSHD-Vorgang im Docker
>>: Detaillierte Erklärung der Vue-Mixin-Verwendung und des Zusammenführens von Optionen
1. Abgerundeter Rand: CSS- CodeInhalt in die Zwis...
Installieren Stellen Sie sicher, dass Ihr Benutze...
Ich werde die Installation von MySQL unter Window...
Vorwort Wie wir alle wissen, ist JavaScript im Ke...
Vererbung von Prototypketten Die Prototypenvererb...
getElementById kann das Objekt nicht abrufen Beim...
Heute habe ich auf CSDN einen kleinen Trick zum Es...
Binlog ist eine binäre Protokolldatei, die zum Au...
Im Entwicklungsprozess eines Vue-Projekts konfigu...
Vorwort Die Entwickler des Unternehmens verwendet...
Nachdem die Anwendung in einen Container verpackt...
laden Anforderung erfolgreich Anforderung fehlges...
Inhaltsverzeichnis 1. Einleitung: 2. Vererbung de...
1. Spread-Operator Der Spread-Operator besteht au...
Umwelt: [root@centos7 ~]# uname -r 3.10.0-514.el7...