Heim  >  Artikel  >  Datenbank  >  So verwenden Sie eine SQL-Anweisung in MySQL, um mehrere SQL-Anweisungen zu kapseln, die keiner Ergebnismenge zugeordnet werden können

So verwenden Sie eine SQL-Anweisung in MySQL, um mehrere SQL-Anweisungen zu kapseln, die keiner Ergebnismenge zugeordnet werden können

王林
王林nach vorne
2023-05-27 10:24:47652Durchsuche

Problembehandlungsprozess

Eine kurze Erläuterung des Geschäftsszenarios. Um das Verständnis zu erleichtern, wurden die Geschäftsanforderungen vereinfacht.

Jetzt gibt es eine Vertriebsaktivität, um Vertriebsaktivitäten durchzuführen. Sobald jemand über den Link zur Vertriebsaktivität kauft, kann er die Vertriebsaktivitäten auch direkt erwerben der Link. Es wird jedoch keine Ausschüttungserlöse geben. Hinsichtlich der Tabellenstruktur werden alle Bestellungen in der Bestelltabelle order gespeichert. Für diejenigen mit Vertriebsbeziehungen werden die Vertriebsbindungsinformationen (Händler und verteilte Person) in recorderfasst >In der Tabelle werden für diejenigen, die direkt ohne Vertrieb gekauft wurden, keine Datensätze zur Tabelle record hinzugefügt. Jetzt müssen wir die Gesamtzahl der Bestellungen und Vertriebsdatensätze an diesem Tag zählen, vorausgesetzt, der Tag ist der 08.11.2022. order中,对于存在分销关系的会将分销绑定信息(分销人与被分销人)记录到record表中,不通过分销直接购买的不会在record表中添加记录。现在要求统计一下当天的订单总数与分销记录总数,假设当天为2022.11.08。

如果是单独统计计算很简单,直接统计总数就可以:

统计当天的总订单数:

SELECT COUNT(1) total_couut FROM order WHERE DATE_FORMAT(order_create_time,'%Y-%m-%d') = '2022-11-08'

统计当天的分销总的分销记录数:

SELECT COUNT(1) record _count FROM record WHEREDATE_FORMAT(create_time,'%Y-%m-%d') = '2022-11-08'

但是如何将两个不同的统计信息封装到一个结果集中,这里提供一种处理方案,使用union all

Wenn es sich um eine separate statistische Berechnung handelt, ist es sehr einfach, einfach die Gesamtzahl direkt zählen:

Statistik der Gesamtzahl der Bestellungen am Tag:

SELECT COUNT(1)  total_couut,0 record_count FROM order WHERE DATE_FORMAT(order_create_time,'%Y-%m-%d') = '2022-11-08'
union all 
SELECT 0 total_count,COUNT(1) record _count FROM record WHEREDATE_FORMAT(create_time,'%Y-%m-%d') = '2022-11-08'

Statistik der Verteilung des Tages Gesamtzahl der Verteilungsdatensätze:

select sum(t.total_count) total_count, sum(t.record_count) record_count from
(SELECT COUNT(1)  total_couut,0 record_count FROM order WHERE DATE_FORMAT(order_create_time,'%Y-%m-%d') = '2022-11-08'
union all 
SELECT 0 total_count,COUNT(1) record _count FROM record WHEREDATE_FORMAT(create_time,'%Y-%m-%d') = '2022-11-08') t

Aber wie man zwei verschiedene statistische Informationen kombiniert. In einer Ergebnismenge gekapselt, hier ist eine Verarbeitungslösung: Verwenden Sie union all, um parallele Abfragen durchzuführen, und führen Sie dann Summationsabfragen durch. Die spezifische Implementierungsmethode ist wie folgt.

So verwenden Sie eine SQL-Anweisung in MySQL, um mehrere SQL-Anweisungen zu kapseln, die keiner Ergebnismenge zugeordnet werden können1. Verwenden Sie Union All, um eine parallele Abfrage durchzuführen

Um sicherzustellen, dass die abgefragten Parameterinformationen konsistent sind, wird die Gesamtzahl der Verteilungsdatensätze beim Abfragen der Gesamtzahl der Bestellungen ergänzt, und die Gesamtzahl der Bestellungen wird ergänzt, wenn Die spezifische Implementierung lautet wie folgt:

rrreee

Die Abfrageergebnisse lauten wie folgt:

So verwenden Sie eine SQL-Anweisung in MySQL, um mehrere SQL-Anweisungen zu kapseln, die keiner Ergebnismenge zugeordnet werden können2. Jetzt wurden die Gesamtzahl der Bestellungen und die gesamten Verteilungsdatensätze abgefragt Als nächstes muss die Verarbeitungsmethode in eine Ergebnismenge gekapselt werden, nämlich die direkte Summierung. Da die entsprechenden Feldwerte alle 0 sind. Die spezifische Implementierung lautet wie folgt:

rrreee🎜Die Abfrageergebnisse lauten wie folgt: 🎜🎜🎜🎜

Das obige ist der detaillierte Inhalt vonSo verwenden Sie eine SQL-Anweisung in MySQL, um mehrere SQL-Anweisungen zu kapseln, die keiner Ergebnismenge zugeordnet werden können. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen