1
최대 값을 검색하는 쿼리를 작성해야하며 최대 값이 동일한 항목이 더 있으면 둘 다 반환합니다. 예를 들어 , 내 데이터베이스SQL에서 하나 이상의 최대 값
Item Price
Coffee 2.50
Tea 2.50
Cola 1.50
이 답변으로 커피와 차를 줄 것이다에있는 경우. 이 일반적으로 윈도우 함수를 사용하여 해결 사전
최대 값을 검색하는 쿼리를 작성해야하며 최대 값이 동일한 항목이 더 있으면 둘 다 반환합니다. 예를 들어 , 내 데이터베이스SQL에서 하나 이상의 최대 값
Item Price
Coffee 2.50
Tea 2.50
Cola 1.50
이 답변으로 커피와 차를 줄 것이다에있는 경우. 이 일반적으로 윈도우 함수를 사용하여 해결 사전
에 감사 : 당신은 당신의 DBMS를 지정하지 않은
select item,
price
from (
select item,
price,
dense_rank() over (order by price desc) as rnk
from the_table
) t
where rnk = 1;
따라서 위의 표준 (ANSI) SQL이다.
SELECT
Item,
Price
FROM the_table
WHERE Price = (SELECT MAX(Price) FROM the_table)
또는
... 아니면 ...이
SELECT
Item,
Price
FROM the_table
WHERE NOT EXISTS
(
SELECT Price
FROM the_table st
WHERE st.Price > the_table.Price
)
또는 하나 더 ...
SELECT
Item,
Price
FROM
the_table
INNER JOIN
(
SELECT MAX(Price) MaxPrice
FROM the_table
) Match ON
the_table.Price = match.MaxPrice
그냥 경우, 윈도우를 기능에 사용할 수 없습니다.