programing

MAX() 함수에서 SQL 행 반환

css3 2023. 7. 4. 22:04

MAX() 함수에서 SQL 행 반환

SQL에 처음 진출했는데 MAX() 기능을 적용하는 데 어려움을 겪고 있습니다.

다음을 실행하면 올바른 반환 값을 받게 됩니다.

SELECT MAX(count) 
FROM readings

그러나 해당 값과 관련된 필드도 반환하려고 하면 잘못된 반환이 발생합니다.다음을 실행하면 올바른 '카운트' 값이 반환되지만 잘못된 '위치' 값이 반환됩니다.

SELECT MAX(count), location 
FROM readings

위에서 제가 예상한 결과는 다음과 같습니다.

SELECT count, location 
FROM readings
ORDER BY count DESC 
LIMIT 1

다음을 사용하여 이를 달성하는 것이 가능한지 조언해 주시겠습니까?MAX()기능 또는 내가 방금 무엇을 잘못 이해한 경우MAX실제로 그렇습니다!

당신의 조언에 대단히 감사드립니다.

어떤 데이터베이스 시스템을 사용하고 있습니까? MAX단일 값을 선택하는 동안 전체 테이블에서 작동해야 하는 집계 함수입니다(예:location쿼리에서)는 단일 행에서만 작동합니다.대부분의 데이터베이스에서 다른 열을 선택하려면 다음 열에 해당 열을 지정해야 합니다.GROUP BY절 또는 유사한 집계 함수로 묶습니다.

의 가치를 얻기 위해location동일한 행에서 일반적으로 다음과 같은 하위 선택을 사용해야 합니다.

SELECT count, location
FROM readings
WHERE count = (SELECT MAX(count) FROM readings);

그러나 이것이 단일 결과를 보장하지는 않습니다. 최대치와 일치하는 행이 여러 개 있을 수 있습니다.count가치!

언급URL : https://stackoverflow.com/questions/70291180/sql-return-row-from-max-function