Produkte Verkauft TabelleMySql - Wie erhalten Sie durchschnittliche Daten aus zwei Tabellen?
Hält Aufzeichnungen eines jeden einzelnen Artikel als Auftrag gekauft wurden, können viele Produkte haben.
+----+------------+---------+----------+-------+
| ID | PAYMENT_ID | PROD_ID | STORE_ID | PRICE |
+----+------------+---------+----------+-------+
| 1 | 1 | 5 | 4 | 3.00 |
| 2 | 1 | 4 | 4 | 4.00 |
| 3 | 2 | 3 | 7 | 5.00 |
| 4 | 3 | 8 | 9 | 10.00 |
+----+------------+---------+----------+-------+
Zahlung Tabelle
Hält Aufzeichnungen über die Zahlung für den Auftrag.
+----+-------+------------+----------+
| ID | TOTAL | DATE | STORE_ID |
+----+-------+------------+----------+
| 1 | 7.00 | 10/10/2010 | 4 |
| 2 | 5.00 | 01/07/2011 | 7 |
| 3 | 10.00 | 20/02/2012 | 9 |
+----+-------+------------+----------+
Wie ich Abfrage oder eine Funktion erstellen kann, die mir geben würden, wie viele Verkäufe jeden Monat gemacht wurden (Januar bis Dezember) im Durchschnitt in den Jahren 2010/2011/2012 für einen bestimmten Laden.
Zum Beispiel, wenn „Store 4“ verkauft 5 Produkte im Januar 2010, im Jahr 2011 und im Jahr 2012 dann die durchschnittlichen Verkäufe für dieses Geschäft in dem Monat Januar wären 5.
Ich habe versucht:
SELECT storeid, paymentdate
FROM payment_table
WHERE (YEAR(paymentdate)=2010 OR YEAR(paymentdate)=2011 OR YEAR(paymentdate)=2012)
AND (storeid=1)
Dies tut nicht viel abgesehen von den Daten aller Zahlungen für ein bestimmtes Geschäft zu bekommen.
Was haben Sie bisher versucht? –
@ stephen.vakil 'SELECT storeid, Zahlungsdatum FROM payment_table WHERE (JAHR (Zahlungsdatum) = 2010 ODER JAHR (Zahlungsdatum) = 2011 ODER JAHR (Zahlungsdatum) = 2012) AND (storeid = 1)' Das macht nicht viel anderes Erhalten Sie die Daten aller Zahlungen für ein bestimmtes Geschäft. – HoldTight
Verknüpfen Sie die Tabellen und verwenden Sie dann COUNT (*) und GROUP BY YEAR (Datum), MONTH (Date), um die Zählungen für jeden Monat zu erhalten. Setze das in eine Unterabfrage und benutze 'AVG (count)' und 'GROUP BY month' – Barmar