Was Sie suchen, wird oft als Kreuztabelle bezeichnet. Hier ist ein Beispiel, das die Ergebnisse produzieren würden Sie wollen:
Select registrationDate
, Sum(Case When ValidityDate = '2010-10-25' Then 1 Else 0 End) As `2010-10-25`
, Sum(Case When ValidityDate = '2010-10-26' Then 1 Else 0 End) As `2010-10-26`
, Sum(Case When ValidityDate = '2010-10-27' Then 1 Else 0 End) As `2010-10-27`
From MyTable
Group By registrationDate
Wenn das, was Sie wollen, ist, um dynamisch die Spalten aufzubauen, führen Sie eine dynamische Kreuztabelle zu suchen. Die SQL-Sprache ist im Allgemeinen nicht auf die dynamische Spaltengenerierung ausgelegt, und daher kann dies in nativ in MySQL ohne Verwendung von dynamischem SQL nicht durchgeführt werden. Stattdessen sollten Sie diese Abfrage in Ihrer mittleren Ebene oder Berichts-Engine erstellen.
Ich denke nicht, dass dies mit einer Abfrage durchgeführt werden kann. Suchen Sie nach einer Querverweisabfrage. Ein Ergebnis ist dies (obwohl ich das nie getan habe, ich mache es nur über Code): http://rpbouman.blogspot.com/2005/10/creating-crosstabs-in-mysql.html – xecaps12
Wirklich traurig, dass MySQL doesn Unterstütze Pivots nicht. Das ist das genaue Werkzeug, das Sie brauchen, um dieses Problem zu lösen. –