Databases Reporting with SQL Working with Text Getting the Length of a String

Finding data using SQL

In the library database there's a books table with the columns id, title, author, genre and first_published. Find the book with the longest title. Show the title and then the length. Alias the result of the length calculation to be longest_length. Only retrieve the longest book.

my answer: SELECT title FROM books WHERE "Length" = "longest_length" DESC LIMIT 1;

I am getting this question wrong could someone please help me by explaining what I am doing wrong

1 Answer

Daniel L.
Daniel L.
3,836 Points

There are a couple different ways of doing this, at least to my knowledge, there might be more.

Option 1:

SELECT title, LENGTH(title) AS longest_length
FROM books
ORDER BY longest_length
LIMIT 1; 

Option 2:

SELECT title, MAX(LENGTH(title)) AS longest_length
FROM books;