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

時間別のMysqlグループデータ

    1つ(または複数)の列でグループ化する場合、クエリを理解するには、グループ化されていないすべての列に対して何かを行う必要があります。

    グループ化されたすべての値で何をしたいのかを言わなければなりません。通常、SUM()、AVG()、MIN()、MAX()、GROUP_CONCAT()

    のようなもの

    m_fromでグループ化する場合、m_fromのすべてのレコードがグループ化されるため、m_timeで並べ替えることはできません。グループ化されていない値については、グループ化されていないため、任意の回答が得られます。グループをどうするかを指定します。

    MAX(m_time)などの集計関数を使用してm_timeの最大値を取得し、それを並べ替えることができます。

    次のようなものを提案します。

     SELECT MAX(m_id),m_from, MAX(m_time) as latest FROM messages 
        WHERE m_to='XXX' OR m_from='XXX' 
        GROUP BY m_from 
        ORDER BY latest DESC;
    


    1. Scala SlickでEnumを使用する方法は?

    2. PHPとMySQLで安全なログインスクリプトを作成する方法

    3. Djangoクエリで.extra(select ={...})を使用して導入された値に.aggregate()を使用しますか?

    4. レイアウトビューのフィルターを使用してMicrosoftAccessレポートを実行する時間を節約する