이 어떻게 트랜잭션의 최대 카운트 수를 조회 할 수있는 목록의 최대 개수를 얻을 수 ... 내 코드는 다음과 같습니다 당신이 찾고있는 경우SQL 쿼리는 다음과 같은 방법
SELECT customer_id, COUNT(customer_id)
FROM rental
GROUP BY customer_id
HAVING MAX(COUNT(customer_id)); //I need to get the MAXIMUM COUNT of the list
이 어떻게 트랜잭션의 최대 카운트 수를 조회 할 수있는 목록의 최대 개수를 얻을 수 ... 내 코드는 다음과 같습니다 당신이 찾고있는 경우SQL 쿼리는 다음과 같은 방법
SELECT customer_id, COUNT(customer_id)
FROM rental
GROUP BY customer_id
HAVING MAX(COUNT(customer_id)); //I need to get the MAXIMUM COUNT of the list
더 때문에 하나 이상의 고객이 동일한 최대 값을 가질 수 있습니다.
SELECT customer_id,
COUNT(customer_id) AS customerrowcount
FROM rental
GROUP BY customer_id
HAVING COUNT(customer_id) = (SELECT COUNT(customer_id)
FROM rental
GROUP BY customer_id
ORDER BY COUNT(customer_id) DESC
LIMIT 1)
을 다음과 같이 선택되는 임의의 고객과 확인있어 그러나 경우에 당신은 당신이 사용하고있는 데이터베이스
rental
테이블에있는 행의 가장 큰 번호와 함께 customer_id
, 당신은 사용할 수 있습니다
SELECT customer_id, COUNT(customer_id) as CustomerRowCount
FROM rental
GROUP BY customer_id
ORDER BY COUNT(customer_id) DESC
LIMIT 1
위의 쿼리는 상단 행을 선택한 다음 내림차순으로 정렬 각 CUSTOMER_ID의 모든 레코드를 계산하고 있습니다. 고객의 최대 개수는 CustomerRowCount
입니다.
편집
콘래드는 두 개 이상의 customer_id
년대 레코드의 같은 번호를 가질 수 있다는 점을 가져왔다. 비즈니스 요구 사항에이 경우 여러 레코드를 반환해야하는 경우 쿼리를 통해 원하는 결과를 얻을 수 있습니다. 하나의 레코드 만 반환해야하는 경우 간단하고 일관된 방법으로 연결을 끊으면 가장 낮은 사용자 인 customer_id
을 가져갈 수 있습니다. 그렇게하려면, 당신은 단지에 문하여 순서를 변경할 수 있습니다 :
ORDER BY COUNT(customer_id) DESC, customer_id
시도 :
SELECT customer_id, MAX(COUNT(customer_id))
FROM rental
GROUP BY customer_id;
또는
SELECT top 1 customer_id, COUNT(customer_id)
FROM rental
GROUP BY customer_id
ORDER BY COUNT(customer_id) DESC
쿼리 MySQL의
SELECT
*
FROM (SELECT
customer_id,
COUNT(customer_id) AS CountOfCustomer
FROM rental
GROUP BY customer_id) q1
ORDER BY CountOfCustomer DESC
LIMIT 1
MYSQL – newbie
rsbarro의 답변을 사용하는 것보다 유해야합니까? –
답변을 게시 한 것이 없으면 샘플 데이터가 필요하다고 생각합니다. – rsbarro