2017-01-04 4 views
1

Ich habe die folgenden Tabellen:mysql Anzahl Blog-Beiträge von einem Benutzer und Anzeige Monat

  • Blogs
  • Benutzer
  • Benutzers Blogs

Ich möchte eine Zählung der bekommen Gesamtzahl der Blogs für einen bestimmten Benutzer und eine bestimmte Gruppe nach Monaten. Dies funktioniert Abfrage funktioniert gut:

SELECT COUNT(*) 
FROM blogs b 
    INNER JOIN blog_user bu ON bu.`blog_id` = b.id 
WHERE bu.`user_id` = 1 
GROUP BY 
    MONTH(b.`created_at`) 

Jedoch habe ich den Monat Januar etc .. an der Seite der Zählung der Gesamtzahl zurückgeben möchten. Ich habe versucht, die folgenden:

SELECT COUNT(*), MONTH(blogs.created_at) 
    FROM blogs b 
     INNER JOIN blog_user bu ON bu.`blog_id` = b.id 
    WHERE bu.`user_id` = 1 
    GROUP BY 
     MONTH(b.`created_at`) 

Allerdings erhalte ich:

Unbekannte Spalte blogs.created_at

Irgendwelche Ideen, wie ich dies tun kann?

+0

PLZ geben Sie die Struktur von Jahr Tabellen –

Antwort

2

Sie aliased blogs Tabelle als b, deshalb müssen Sie mit dem b Präfix ihre Spalten verweisen: MONTH(b.created_at)

Sie die richtigen Aliase über die gesamte SQL-Anweisung verwendet, abgesehen von diesem Fall.

Verwandte Themen