sql >> データベース >  >> RDS >> Mysql

PHPxmlwriterを使用してxmlファイルに複数のデータを追加します

    あなたの問題はクエリにあります:

    $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 ";  
    

    MySQL以外のほとんどのデータベースは、多くのフィールドを選択しながら2つのフィールドでグループ化しているため、このクエリを拒否します。
    group by year, month 1か月の1つの(ランダムな)行のみを表示し、他のすべての行を非表示にします。

    解決策は、group byを削除することです 句を完全に記述し、クエリを次のように書き直します:

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

    備考
    WHEREがないのは奇妙なことです 句。本当にすべてを選択しますか 毎回記事を検索しますか?
    より良いアプローチは、クエリで選択される記事の数を何らかのフィルターで制限することです。
    phpよりもデータベースでフィルター処理する方が常に高速です。



    1. MySQLで先頭の空白を削除する方法

    2. MySQLに挿入するときに列をスキップする

    3. 各単語の頻度を数える

    4. Amazon RelationalDatabaseServiceのメリットとセキュリティ