Ich bin ein Anfänger, wenn es um Datenbanken geht und diese Frage lässt mein Gehirn schmelzen. Ich habe eine Datenbank mit den Standardspalten, die Sie sich vorstellen würden: Id, Preis, Beschreibung usw. Wie soll ich die Datenbank organisieren, so dass es möglich ist, die Datenbank abzufragen, wie oft ein Artikel zwischen 2012-01-08 und 2012- gekauft wurde 03-23?Wie SQL-Datenbank abfragen, wie oft ein Artikel zwischen zwei Daten gekauft wurde?
Antwort
Mit den anderen Antworten übereinstimmen.
SELECT itemcode, count(itemcode) 'times purchased', sum(quantity) 'amount purchased'
FROM `temp_trans`
WHERE `trans_date` >= '2012-01-08' AND `trans_date` <= '2012-03-23'
GROUP BY itemcode
Hier ist ein anschauliches Beispiel: http://sqlfiddle.com/#!2/13def/1
Wenn Sie eine Datumsspalte genannt haben dt
können Sie
SELECT COUNT(Id) FROM your_table
WHERE dt BETWEEN 2012-01-08 AND 2012-03-23
AND Id = your_item_id
select id, count(*)
from mytable
where date between '2012-01-01' and '2012-02-02'
group by id
Dies gibt Ihnen die Anzahl der Nutzungen jeder Artikel gekauft wurde. Das Feld, nach dem Sie gruppieren, hängt davon ab, wie das Ergebnis aufgeteilt werden soll. Die Verwendung einer ID oder eines eindeutigen Namens würde abhängig davon, was Sie mit dem Ergebnis machen möchten, funktionieren.
Die zwischen Klausel ist inklusive btw
Edit: guter Punkt auf den Kommentar! Wahrscheinlich hätte er sagen sollen: "Verwenden Sie ein geeignetes Feld zum Gruppieren, wie den Namen oder die ID des Elements." In einigen unserer Systeme werden Beschreibung und Name synonym verwendet :)
Ihre Abfrage funktioniert (es ist syntaktisch korrekt), aber ich würde zu einer Gruppe von Beschreibung Angst: verschiedene Elemente gleiche Beschreibung haben könnten! Wie auch immer, OP hat uns nichts gesagt, also einen guten Job. +1 für Sie – Marco
Ich denke, Sie sollten besser Standard-Syntax für Daten verwenden: 'YYYY-MM-DD'. – Marco
- 1. Zählen, wie oft ein Thread vorweggenommen wurde?
- 2. Wie kann ich mit MySQL zwischen zwei Daten abfragen?
- 3. Wie oft wurde logging.error() aufgerufen?
- 4. Xampp - PHP - SQLDatenbank
- 5. Wie erkennt man, wie oft eine Taste nacheinander gedrückt wurde?
- 6. Geschwindigkeit zwischen zwei verschiedenen Abfragen
- 7. Subtraktion zwischen zwei SQL-Abfragen
- 8. Wie oft wurde das Programm ausgeführt? C#
- 9. Überprüfen Sie, wie oft wurde Formular eingereicht
- 10. E-Mail senden, wenn ein bestimmtes Produkt gekauft wurde (Prestashop)
- 11. HQL zum Abfragen von Datensätzen zwischen zwei Daten
- 12. SQL Performance zwischen zwei Abfragen
- 13. Unterschiede zwischen zwei analytischen Abfragen
- 14. Wie viele Sekunden zwischen zwei Daten?
- 15. wie zwischen zwei Daten in PHP
- 16. Wie wird zwischen zwei Daten unterschieden?
- 17. Tomcat: Wie Daten zwischen zwei Anwendungen teilen?
- 18. Wie zwei Abfragen zu vergleichen?
- 19. Wählen Sie ein Datum zwischen zwei Daten
- 20. MySql Abfrage wo ein Datum zwischen zwei Daten ist zwischen zwei Daten
- 21. zwei Abfragen, die verschiedene Daten zurückgeben
- 22. Wie generiere ich alle Daten zwischen zwei Daten?
- 23. SSRS-Bericht zwischen zwei Daten
- 24. Wie zwei gleiche Felder in unterschiedlichen Daten vergleichen setzt
- 25. Wie finde ich die Daten zwischen zwei angegebenen Daten?
- 26. Differenz zwischen zwei Daten #
- 27. Daten zwischen zwei Tabellen
- 28. Wie kann ich feststellen, in welchem Land ein iPhone gekauft wurde?
- 29. Wie ein Teil zwischen zwei Indizes
- 30. Zählen Sie, wie oft ein ComboBox-Element in C++ Builder ausgewählt wurde
Wenn ich eine Einkaufstabelle entwerfe, gehe ich definitiv für eine Quantitätsspalte. Das muss also die nächste und allgemeinere Lösung sein, IMO. –