Ich habe die folgende Abfrage, die eine View-Tabelle die höchsten Verkäufer in einem Geschäft mit einigen anderen Details schafft zeigt:MySQL - Wie ein Ergebnis pro ID begrenzen?
wird die Verkaufsdaten für einen einzelnen Speicher nur zeigenCREATE OR REPLACE VIEW sales_data AS
SELECT s.storename AS "Store",
e.employee_name AS "Employee",
e1.employee_name AS "Manager",
SUM(p.total_sale_value) AS "Sales Value"
FROM fss_Shop s
JOIN Employee e ON e.storeid = s.storeid
JOIN Payment p ON p.employee_number = e.employee_number
JOIN Employee e1 ON e1.employee_number = e.manager_number
WHERE s.storeid=1
GROUP BY e.employee_name
ORDER BY SUM(p.total_sale_value) DESC LIMIT 1;
Die obige Abfrage und das, wie ich seinen Grund habe WHERE s.storeid=1
angegeben. Ich habe 20 Geschäfte in meinem Tisch. Wie kann ich die obige Abfrage so ändern, dass sie mir Verkaufsdaten für 20 Filialen gibt (also 20 Zeilen).
Wenn Sie das 'WHERE s.storeid = 1 'entfernen, können Sie die Gruppe nach' GROUP BY e.employee_name, s.storeid' erstellen und sehen, ob das funktioniert? – dimwittedanimal
@dimwittedanimal Das ist viel besser. Aber es gibt mir immer noch mehrere Verkäufer aus demselben Laden. – HoldTight
Entfernen Sie Where-Klausel und aktualisieren Sie Ihre 'GROUP BY s.storeid' –