Ich habe eine Abfrage wie folgt vor:Sum-Funktion in MySQL mit inneren Abfrage
select b.*, SUM(h.points) as points
from brands b left join
histories h
on b.id = h.brandid and h.userId = $userId
where b.id=$brandId and b.active=1
group by b.id
limit 1
ich nur Punkte für folgende Fälle summieren möchten:
where h.type != 10, h.points !=0 and points should be between two dates like this: h.time between '2016-06-01' and '2016-06-31'...
Ich denke dies geschehen könnte durch mit einer Sub-Abfrage, aber ich bin mir nicht sicher, wie ... Kannst du mir helfen, Jungs?
Die gewünschte Ausgabe wäre:
userId brandId points
1 64 155
1 15 100
Und so weiter, dass ich jede summierte Punkte gut für jeden Benutzer, der diese Punkte in zwischen zwei Terminen und dass die Art der Punkte erzielt hat, ist nicht = 10! ;
Die Tabellenstruktur ist wie folgt:
Brands => Histories <= Users
Wenn Sie möchten, sollten Sie nach dieser einfachen zweistufigen Vorgehensweise: 1. Wenn Sie dies noch nicht getan haben, bieten die richtige CREATE und INSERT Anweisungen (und/oder eine SQLFiddle), damit wir das Problem leichter replizieren können. 2. Wenn Sie dies noch nicht getan haben, geben Sie ein gewünschtes Ergebnisset ein, das den Angaben in Schritt 1 entspricht. – Strawberry