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

SQL:DISTINCTで行の順序を維持するにはどうすればよいですか?

    distinct キーワードは、本来の機能を実行することです。指定された列値でそれぞれ1行を返します。 Distinctでは、どのを指定することはできません。 そのような行が返され、元のクエリから、そのような順序付けが許可されていることが明らかです(ID429の行の後にID443の行が続きます)。

    返される行を制御するには、クエリを再定式化する必要があります。私が取る典型的な解決策は、group byを使用することです。 、各グループからグループ列と目的の行を選択すると、効果があります

    SELECT message.id, MAX(message.created_at) FROM message GROUP BY message.id;
    

    さらに多くのことを行う必要がある場合は、この種のクエリをより大きなクエリの副選択として使用します。おそらく、idフィールドに結合して、優先行からより多くのフィールドを取得するか、特定の方法でクエリを並べ替えます。

    >


    1. phpを使用してXMLデータを解析し、mysqlデータベースに配置します

    2. 結合更新のMySQL構文

    3. $filterがMySQLを使用するJPA/Olingo2.0.11で機能しない

    4. 注文を保存するにはどうすればよいですか?