2016-07-24 6 views
3

Ich versuche, die Anzahl der hinzugefügten Datensätze nach Monat zu erhalten. Nach Abfrage feineWie bekomme ich den Monatsnamen innerhalb der Abfrage mit Hilfe von mysqli?

SELECT COUNT(*) AS count_by_month, MONTH(date_added) AS in_month 
FROM  `promotion` 
WHERE  YEAR(date_added) = '2016' 
GROUP BY MONTH(date_added) 

Aber obige Abfrage im Ergebnis zurückgibt Monatszahl arbeitet, wollte ich sein wie Jan die Monatsnamen bekommen, Feb statt Nummer. Ich habe versucht, folgenden Trick, aber es funktioniert nicht.

Kann mir jemand sagen, wie das Problem behoben werden kann, würde ich gerne zu schätzen wissen, wenn jemand mich in Bezug auf diese. Danke.

Antwort

2

Versuchen Sie folgendes:

SELECT  
    COUNT(*) AS count_by_month, 
    MONTH(date_added) AS in_month, 
    MONTHNAME(date_added) 
FROM  `ws_promotion` 
WHERE  YEAR(date_added) = '2016' 
GROUP BY MONTH(date_added) 

Hinweis:MONTHNAME(date) Funktion erwartet date als Argument.

Beispiel:

mysql> SELECT MONTHNAME('2009-05-18'); 
+-------------------------+ 
| MONTHNAME('2009-05-18') | 
+-------------------------+ 
| May      | 
+-------------------------+ 
1 row in set (0.02 sec) 

Mehr: Wenn Sie von Zahlen Monatsnamen zu bekommen, dann können Sie STR_TO_DATE() verwenden, um die Nummer zu einem Datum zu konvertieren, und dann wieder mit MONTHNAME()

SELECT MONTHNAME(STR_TO_DATE(7, '%m')); 

+---------------------------------+ 
| MONTHNAME(STR_TO_DATE(7, '%m')) | 
+---------------------------------+ 
| July       | 
+---------------------------------+ 
+0

Es funktioniert für mich. Danke –

+0

Sie sind willkommen :). Ich habe die Antwort mit weiteren Details aktualisiert. – 1000111