Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak mogę wybrać najdłuższe pole tekstowe, używając GROUP BY w mysql, a la MAX()?

Musisz użyć CHAR_LENGTH zamiast 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żesz chcieć zobaczyć różnicę:CHAR_LENGTH() vs DŁUGOŚĆ( )

Pokaz SQLFiddle



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak używać indeksów do poprawy wydajności zapytań MySQL

  2. Ucieczka MySQL GROUP_CONCAT

  3. MySQL — zwiększ wartość kolumny lub wstaw dane, jeśli nie istnieją

  4. jak uciec z danych wejściowych, ale zapisać bez ucieczki do bazy danych

  5. Znaki inne niż angielskie w bazie danych przy użyciu języka Java