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

Jak mohu vybrat nejdelší textové pole při použití GROUP BY v mysql, a la MAX()?

Musíte použít CHAR_LENGTH místo 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

Možná budete chtít vidět rozdíl:CHAR_LENGTH() vs. DÉLKA( )

Ukázka SQLFiddle



  1. CakePHP najít seznam se souvisejícími podmínkami modelu

  2. Zobrazit průběh vyplňování DataSet z MySQL

  3. Kdy je čas, aby se tabulka změnila z MyISAM na InnoDb?

  4. Posledních x příspěvků na blogu – ale pouze jednou na uživatele