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 record
erfasst >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
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') tAber 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. 1. Verwenden Sie Union All, um eine parallele Abfrage durchzuführen
Die Abfrageergebnisse lauten wie folgt:
2. 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!