We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
Hey coders!,
If you're thinking this way:
SELECT CITY, MIN(LENGTH(CITY)) FROM STATION
it won't work because, according to SQL standards, we can't mix aggregate functions(MIN) with non-aggregate columns like CITY without using GROUP BY.
That's why other coders use the ORDER BY method. Here are two ways to do it:
First way:
(SELECT CITY, LENGTH(CITY) FROM STATION ORDER BY LENGTH(CITY),CITY LIMIT 1);
(SELECT CITY,LENGTH(CITY) FROM STATION ORDER BY LENGTH(CITY) desc, CITY LIMIT 1);
Second way: (It might seem difficult if you are a beginner, but you can go with any of them)
SELECT CITY, LENGTH(CITY)
FROM STATION
WHERE LENGTH(CITY) = (SELECT MIN(LENGTH(CITY)) FROM STATION)
ORDER BY CITY ASC LIMIT 1;
SELECT CITY ,LENGTH(CITY)
FROM STATION
WHERE LENGTH(CITY) = (SELECT MAX(LENGTH(CITY)) FROM STATION)
ORDER BY CITY ASC LIMIT 1;
Weather Observation Station 5
You are viewing a single comment's thread. Return to all comments →
Hey coders!, If you're thinking this way: SELECT CITY, MIN(LENGTH(CITY)) FROM STATION it won't work because, according to SQL standards, we can't mix aggregate functions(MIN) with non-aggregate columns like CITY without using GROUP BY. That's why other coders use the ORDER BY method. Here are two ways to do it:
First way: (SELECT CITY, LENGTH(CITY) FROM STATION ORDER BY LENGTH(CITY),CITY LIMIT 1); (SELECT CITY,LENGTH(CITY) FROM STATION ORDER BY LENGTH(CITY) desc, CITY LIMIT 1);
Second way: (It might seem difficult if you are a beginner, but you can go with any of them) SELECT CITY, LENGTH(CITY) FROM STATION WHERE LENGTH(CITY) = (SELECT MIN(LENGTH(CITY)) FROM STATION) ORDER BY CITY ASC LIMIT 1; SELECT CITY ,LENGTH(CITY) FROM STATION WHERE LENGTH(CITY) = (SELECT MAX(LENGTH(CITY)) FROM STATION) ORDER BY CITY ASC LIMIT 1;