반응형
MySQL max()가 있는 그룹 함수를 잘못 사용함
order.lastUpdated가 30분 전보다 오래된 부울 값을 선택하려고 하는데 다음 오류가 발생합니다.
SQL 상태 [HY000]; 오류 코드 [1111];그룹 함수를 잘못 사용했습니다. java.sql 예외가 중첩되었습니다.SQL 예외:그룹 함수가 잘못 사용
다음은 질문입니다.
select
c.externalReference channelReference,
c.id channelId,
max(o.lastUpdated) lastUpdated,
sum(if(max(o.lastUpdated) < date_sub(now(), interval 30 minute), 0, 1)) beforeThreshold
from channel c
join order_item o on c.id = o.channelId
where date(o.lastUpdated) = date(now())
and o.lastUpdated > date_sub(now(), interval 1 hour)
group by c.externalReference;
다음과 같은 경우 부울 값을 반환하려면 어떻게 합니까?o.lastUpdated
내가 사용해야 하는 30분 전보다 더 오래되었습니다.max()
?
다음과 같은 집계 함수를 중첩할 수 없습니다.SUM()
그리고.MAX()
당신은 부쿼리에서 안쪽을 해야 합니다.
SELECT c.externalReference AS channelReference,
c.id AS ChannelId
o.lastUpdated,
SUM(IF(o.lastUpdated < DATE_SUB(NOW(), INTERVAL 30 MINUTE), 0, 1) AS beforeThreshold
FROM channel AS c
JOIN (SELECT channelId, MAX(lastUpdated) AS lastUpdated
FROM order_item
WHERE DATE(lastUpdated) = TODAY()
AND lastUpdated > DATE_SUB(NOW(), INTERVAL 1 HOUR)
GROUP BY channelId) AS o
ON c.id = o.channelId
GROUP BY c.externalReference
언급URL : https://stackoverflow.com/questions/39086549/mysql-invalid-use-of-group-function-with-max
반응형
'programing' 카테고리의 다른 글
HTML 파일을 WebView로 로드 (0) | 2023.08.01 |
---|---|
플렉스 베이스와 폭의 차이점은 무엇입니까? (0) | 2023.08.01 |
java -jar를 실행하는 동안 Main-Class 매니페스트 특성을 로드하지 못했습니다. (0) | 2023.08.01 |
Ruby on Rails 활성 레코드를 사용하여 여러 레코드를 삽입합니다. (0) | 2023.08.01 |
3D 산점도를 만드는 방법 (0) | 2023.08.01 |