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

mysqlでGROUPBYを使用するときに、MAX()である最長のテキストフィールドを選択するにはどうすればよいですか?

    CHAR_LENGTHを使用する必要があります LENGTHの代わりに

    SELECT a.id, a.post_id, a.body
    FROM posts a INNER JOIN
    (
        SELECT post_ID, title, MAX(CHAR_LENGTH(body)) totalLength
        FROM posts
        GROUP BY post_ID, title
    ) b ON a.post_id = b.post_ID AND
            a.title = b.title AND
            CHAR_LENGTH(a.body) = b.totalLength
    

    違いを確認することをお勧めします: CHAR_LENGTH()vs LENGTH()

    SQLFiddleデモ



    1. 行タイプをチェックするときにISNOTNULLがfalseになるのはなぜですか?

    2. Mybatis移行ツールで1つのトランザクションで複数のmysqlステートメントを実行する

    3. DOスクリプトのPSQLコマンドライン引数

    4. UPDATESQLクエリのLIMITオフセットまたはOFFSET