Loading...
MySQL 9.5 Reference Manual 9.5의 5.6.2 The Row Holding the Maximum of a Certain Column의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
작업: 가장 비싼 article의 번호, dealer, 가격을 찾으시오.
이는 서브쿼리로 쉽게 수행할 수 있습니다:
1SELECT article, dealer, price 2FROM shop 3WHERE price=(SELECT MAX(price) FROM shop); 4 5+---------+--------+-------+ 6| article | dealer | price | 7+---------+--------+-------+ 8| 0004 | D | 19.95 | 9+---------+--------+-------+
또 다른 해결 방법은 다음과 같이 LEFT JOIN을 사용하는 것입니다:
1SELECT s1.article, s1.dealer, s1.price 2FROM shop s1 3LEFT JOIN shop s2 ON s1.price < s2.price 4WHERE s2.article IS NULL;
또한 모든 row를 price 기준으로 내림차순 정렬하고,
MySQL 전용 LIMIT 절을 사용하여
첫 번째 row만 가져오는 방식으로도 수행할 수 있습니다. 예시는 다음과 같습니다:
1SELECT article, dealer, price 2FROM shop 3ORDER BY price DESC 4LIMIT 1;
참고
가장 비싼 article이 여러 개 있고, 각각의 price가
19.95라면, LIMIT을 사용하는 해결 방법은
그중 하나만 보여줍니다.
5.6.1 The Maximum Value for a Column
5.6.3 Maximum of Column per Group