[SQL] SQL이 아닌 단일 그룹의 그룹 기능
SQLSQL이 아닌 단일 그룹의 그룹 기능
나는 다음과 같은 SQL 문을 실행할 때 :
SELECT MAX(SUM(TIME))
FROM downloads
GROUP BY SSN
내가 select 문에 추가하여 그 최대 값이 속한 사회 보장 번호를 찾으려고하지만 경우, 고객이 다운로드의 최대 합계 값을 반환합니다 :
SELECT SSN, MAX(SUM(TIME))
FROM downloads
GROUP BY SSN
나는 다음과 같은 오류가 발생합니다 :
그것은이 오류를 던지고 난 왜 이해가 안 돼요. 구글 검색은 다음 작업을 함께했다 :
SELECT 목록에서 그룹 함수 또는 개별 열 표현 중 하나를 떨어 뜨리거나 나열된 모든 개별 열 표현식을 포함 GROUP BY 절을 추가
나는이 생각을 말하고에서 - 그룹 기능을 삭제하면 합계 값 유효하게 - 개별 열 표현 (SSN)를 떨어 뜨릴 단지 나에게 최대 합계를 줄 것이다 -하지 않도록 그 세 번째 부분에 대해.
사람이 올바른 방향으로 안내 할 수 있을까요?
-Tomek
편집 :이 데이터베이스의 시간은 시간의 수를 나타냅니다 다운로드
해결법
-
==============================
1.그런데 문제가 단순히-넣어 귀하의 질의에 특정의 SSN에 대한 SUM (TIME)이 단일 값이 더 의미 (단일 값의 최대되는 의미를)하지 않습니다대로 MAX에 반대하는, 그래서 것입니다.
그런데 문제가 단순히-넣어 귀하의 질의에 특정의 SSN에 대한 SUM (TIME)이 단일 값이 더 의미 (단일 값의 최대되는 의미를)하지 않습니다대로 MAX에 반대하는, 그래서 것입니다.
확실하지 당신이 사용하고하지만 난 당신이 더이 같은 쿼리 원하는 의심 어떤 SQL 데이터베이스 서버 (A MSSQL 배경으로 글이 - 당신이 사용하고있는 SQL 서버에 일부 번역을해야 할 수도 있습니다) :
SELECT TOP 1 SSN, SUM(TIME) FROM downloads GROUP BY SSN ORDER BY 2 DESC
이것은 당신에게 가장 높은 총 시간과의 총 시간에 SSN을 줄 것이다.
편집 - 당신이 동일한 시간에 여러 있고 그들 모두를 원하는 경우에 당신은 사용합니다 :
SELECT SSN, SUM(TIME) FROM downloads GROUP BY SSN HAVING SUM(TIME)=(SELECT MAX(SUM(TIME)) FROM downloads GROUP BY SSN))
-
==============================
2.각 고객의 사용에 대한 다운로드 번호를 원하는 경우 :
각 고객의 사용에 대한 다운로드 번호를 원하는 경우 :
select ssn , sum(time) from downloads group by ssn
다운로드의 가장 많은 고객을위한 - - 당신은 단지 하나 개의 레코드하려면 사용 :
select * from ( select ssn , sum(time) from downloads group by ssn order by sum(time) desc ) where rownum = 1
그러나 당신이 가장 높은 위치, 사용을 공유 다운로드 같은 수의, 모든 고객을보고 싶다면 :
select * from ( select ssn , sum(time) , dense_rank() over (order by sum(time) desc) r from downloads group by ssn ) where r = 1
-
==============================
3.아마 당신은이 간단한을 찾아
아마 당신은이 간단한을 찾아
select * from ( select ssn, sum(time) from downloads group by ssn order by sum(time) desc ) where rownum <= 10 --top 10 downloaders
문안 인사 케이
from https://stackoverflow.com/questions/1795198/sql-not-a-single-group-group-function by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] SQL 데이터베이스에 아랍어 저장 (0) | 2020.05.12 |
---|---|
[SQL] 어떻게 자바에서 SQL 테이블의 존재를 감지 할 수 있습니까? (0) | 2020.05.12 |
[SQL] 내부 대 하위 쿼리는 SQL 서버에 참여 (0) | 2020.05.12 |
[SQL] 얼마나 많은 디스크 공간은 PostgreSQL의 DB를 사용하여 NULL 값을 저장하는 데 필요한? (0) | 2020.05.12 |
[SQL] SQL ORDER BY 날짜 문제 (0) | 2020.05.12 |