2016-05-14 4 views
0

Ich bin auf der Suche nach Abfrage, die Rekord zwischen zwei Monaten abrufen. Es sieht einfach aus, aber ich bin auf der Suche nach einer Abfrage, die Rekord für zwei verschiedene Monate abrufen.MySQL Abfrage Abfrage Datensatz zwischen zwei Monaten

dh.

Januar und April

Abfrage sollte resultiert aus dem Monat Januar und April zeigen, aber es sollte nicht Ergebnis für Februar und März zeigen.

+0

Bitte lesen Sie [wie eine gute Frage] (http: // http: //stackoverflow.com/help/how-to-ask). Was hast du probiert? Geben Sie Ihren Code, die von Ihnen verwendete Tabelle, die Beispieldaten und die gewünschte Ausgabe an. – trincot

Antwort

2

Versuchen

SELECT * from table_name where month(date_field) = 1 or month(date_field) = 4 

dies alle Ergebnisse für Januar und April zeigen, aber für alle Jahre. zum Filter Jahr erneut die Kontrolle in Abfrage hinzufügen

SELECT * from table_name where (month(date_field) = 1 or month(date_field) = 4) and year(date_field) = 2016 
+0

Ich habe ein Zeitstempelfeld. Funktioniert es mit Zeitstempel oder nur mit Datumsfeld arbeiten? – Auj

+0

Ja, es funktioniert für Zeitstempel –

+0

Wird es mit benutzerdefinierten Feld arbeiten. Wie habe ich Datum und Uhrzeit im Varchar-Feld mit der Funktion php date() gespeichert? – Auj

0
SELECT * FROM data where (data.createdAt BETWEEN "2016-01-01" AND "2016-01-31") OR (data.createdAt BETWEEN "2016-04-01" AND "2016-04-31") 
+1

Während dieser Code die Frage beantworten kann, wäre es besser, einige Kontext einzubeziehen, zu erklären, wie es funktioniert und wann es zu verwenden ist. Nur-Code-Antworten sind auf lange Sicht nicht nützlich. – Bono