sql >> Database >  >> RDS >> Mysql

Hoe kan ik het langste tekstveld selecteren als ik GROUP BY gebruik in mysql, a la MAX()?

U moet CHAR_LENGTH . gebruiken in plaats van 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

Misschien wil je het verschil zien:CHAR_LENGTH( ) vs LENGTE( )

SQLFiddle-demo



  1. ORACLE SQL:Haal alle gehele getallen tussen twee getallen

  2. SYSDATETIME() Voorbeelden in SQL Server (T-SQL)

  3. Laravel classloader.php-fout kan stream niet openen:geen bestand of map

  4. E-mail verzenden vanuit MySQL 5.1