Ich weiß nicht, ob es nur ein langer Tag oder was war, aber ich kann nicht herausfinden, die Abfrage, die ich hier ausführen muss. Wir haben zwei Tabellen - eine für Leads generiert und eine für Berichte. Die Lead-Tabelle enthält grundlegende Lead-Informationen, zusammen mit der Quelle (Kampagne) des Leads. Wir müssen jedoch die Anzahl der Leads kennen, die ein ACCOUNT innerhalb eines Datumsbereichs erhalten hat. Hier ist die relevante Tabellenstruktur:MySQL zählt von einer Tabelle beim Beitritt
client_leads:
id
source
date
client_reports:
account
campaign
date
Die Spalte 'Quelle' enthält dieselben Werte wie die Spalte 'Kampagne'. Also, wie würde ich folgendes erreichen:
Sagen Sie, es gibt 10 Leads in der Leads-Tabelle, jedes mit der Kampagne, die den Lead generiert. In der Berichtstabelle gibt es 10 Konten mit jeweils Hunderten von Kampagnen. Ich muss jedes Konto auflisten und wie viele Leads es in der Lead-Tabelle hat.
Ich kann einfach nicht die Logik in meinem Kopf gerade bekommen. Ich habe alles versucht, was mir einfällt und es funktioniert einfach nicht für mich. Wenn Sie weitere Erläuterungen benötigen, lassen Sie es mich wissen. Ich versuche das Problem so gut wie möglich zu beschreiben.
bearbeiten:
CREATE TABLE `client_leads` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`site_id` int(10) DEFAULT NULL,
`ip` varchar(255) DEFAULT NULL,
`source` varchar(255) DEFAULT NULL,
`kw` varchar(255) DEFAULT NULL,
`adgroup` varchar(255) DEFAULT NULL,
`time` time DEFAULT NULL,
`date` date DEFAULT NULL,
`dayweek` varchar(255) DEFAULT NULL,
`first_name` varchar(255) DEFAULT NULL,
`last_name` varchar(255) DEFAULT NULL,
`address` varchar(255) DEFAULT NULL,
`city` varchar(255) DEFAULT NULL,
`postal_code` char(5) DEFAULT NULL,
`state` char(2) DEFAULT NULL,
`email` varchar(255) DEFAULT NULL,
`preferred_phone` varchar(10) DEFAULT NULL,
`alternate_phone` varchar(10) DEFAULT NULL,
`level_of_education` varchar(255) DEFAULT NULL,
`program_of_interest` varchar(255) DEFAULT NULL,
`organic` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `site_id` (`site_id`),
KEY `date_indeces` (`time`,`date`,`dayweek`) USING BTREE,
CONSTRAINT `site_id` FOREIGN KEY (`site_id`) REFERENCES `client_sites` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=32 DEFAULT CHARSET=utf8
CREATE TABLE `client_reports` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`account` varchar(255) DEFAULT NULL,
`friendly_name` varchar(255) DEFAULT NULL,
`sites_id` int(10) DEFAULT NULL,
`service` varchar(255) DEFAULT NULL,
`date` date DEFAULT NULL,
`campaign` varchar(255) DEFAULT NULL,
`adgroup` varchar(255) DEFAULT NULL,
`keyword` varchar(255) DEFAULT NULL,
`impressions` int(10) DEFAULT NULL,
`clicks` int(10) DEFAULT NULL,
`cost` float DEFAULT NULL,
`max_cpc` float DEFAULT NULL,
`avg_pos` float DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `stats` (`impressions`,`clicks`,`cost`),
KEY `date` (`date`),
KEY `campaign` (`campaign`),
KEY `adgroup` (`adgroup`),
KEY `keyword` (`keyword`),
KEY `service` (`service`),
KEY `sites_id` (`sites_id`),
CONSTRAINT `sites_id` FOREIGN KEY (`sites_id`) REFERENCES `client_sites` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=109167 DEFAULT CHARSET=utf8
Erneut bearbeiten: client_reports Tabelle sichtbaren Daten auf http://pastebin.com/T532W3Eq client_leads Tabellendaten sichtbar bei http://pastebin.com/9cjWEvck
Same verrückt Ergebnisse wie ich bekommen worden sind. Eine lächerlich hohe Anzahl von Leads, genau wie die Antwort von Chris unten. – Kevin
können Sie die Daten exportieren? Ich erhalte meine E-Mail-Adresse an Sie, wenn Sie möchten, dass ich einen Blick darauf werfen ... –
Entschuldigung - Hatte PC-Probleme das ganze Wochenende. Ich kann eine Teilmenge der Daten exportieren, wenn Sie sie sich ansehen wollen. Das wird mich verrückt machen, weil ich weiß, dass es etwas Kleines und Einfaches ist. – Kevin