sql >> Database teknologi >  >> RDS >> Mysql

Hvordan kan jeg vælge det længste tekstfelt, når jeg bruger GROUP BY i mysql, a la MAX()?

Du skal bruge CHAR_LENGTH i stedet for 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

Du vil måske se forskellen:CHAR_LENGTH( ) vs. LENGTH( )

SQLFiddle Demo



  1. Sådan opretter du forbindelse til en MySQL-datakilde i Visual Studio

  2. Hente data fra to tabeller med fremmednøgleforhold i Django?

  3. Hvordan bruger man flere databaser til én rails 3.1-app i Heroku?

  4. Eliminer % symbol, mens du bruger selenskraber (Python)