sql >> Databáze >  >> RDS >> Mysql

přidat více dat do souboru xml pomocí PHP xmlwriter

Váš problém je v dotazu:

$sql = "SELECT *,YEAR(FROM_UNIXTIME(timestamp)) AS YEAR, 
                MONTH(FROM_UNIXTIME(timestamp)) AS MONTH 
         FROM ".NEWS_ARTICLES." GROUP BY YEAR, MONTH ORDER BY YEAR DESC, MONTH ";  

Většina databází jiných než MySQL by tento dotaz odmítla, protože seskupujete do 2 polí a přitom vybíráte mnoho polí.
The group by year, month zobrazí pouze jeden (náhodný) řádek z měsíce a skryje všechny ostatní.

Řešením je vypustit group by klauzuli úplně a přepište dotaz takto:

$sql = "SELECT *,YEAR(FROM_UNIXTIME(timestamp)) AS YEAR, 
                MONTH(FROM_UNIXTIME(timestamp)) AS MONTH 
         FROM ".NEWS_ARTICLES." ORDER BY YEAR DESC, MONTH ASC";

Poznámka
Je zvláštní, že nemáte WHERE doložka. Opravdu chcete vybrat vše? články pokaždé?
Lepší přístup by bylo omezit počet článků vybraných v dotazu nějakým filtrem.
Vždy je rychlejší filtrovat v databázi než v php.



  1. Kdy/proč používat kaskádování v SQL Server?

  2. Chyba s procedurami mysql ERROR 1304 &ERROR 1305

  3. Jak odstranit omezení Not Null v MySQL

  4. Omezení sloupce Mysql není prázdné / povinné