Mysql
 sql >> база данни >  >> RDS >> Mysql

Как мога да избера най-дългото текстово поле, когато използвам GROUP BY в mysql, a la 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( ) срещу ДЪЛЖИНА( )

SQLPiddle Демо



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Работа с целостта на базата данни

  2. Изберете публикация, която няма конкретен маркер

  3. Връзката на JPA OneToMany/ManyToOne не работи – Какво ми липсва?

  4. Друг mysqld сървър, работещ на порт 3306 грешка

  5. Създаване на таблица с име на променлива php mysql