2011-03-30 4 views
-1

안녕하세요이 내 SQL 서버에서이 테이블가장 구매 (MYSQL)을 만들어 고객의 쿼리를 만드는 방법

tblPurchase = tblCustomer = {idCust, 이름}

{, idCust, 총 purchaseId}

내가 가장 많이 구매 한 고객 이름 (tblCustomer의 이름)을 찾고 싶다면 어떻게 쿼리를 작성합니까 ?? 그 후 개선을 추가 한 후

select from tblPurchase order by idCust 

과 : 당신이

+0

가장 많이 구입 한 고객 (상품/돈)을 의미합니까? 또는 가장 자주 구매 한 고객입니까? 지금까지 무엇을 시도 했습니까 (일부 코드를 표시 할 수 있습니까?). –

+0

당신의 프레이싱을 약간 재 작업 해 주시겠습니까? "대부분의 고객"은 이해가되지 않습니다. 각 고객 또는 가장 많이 구매 한 고객 또는 가장 큰 단일 구매를 한 고객에 대해 가장 큰 "구매"를 의미합니까? – MPelletier

+0

가장 많은 구매자를 요구하고 있습니까? 그렇다면 "대부분의"구매 건수 또는 총 구매 금액을 의미합니까? –

답변

1

당신이 가장 구매 (구매하지 최대의 합계 비용)을 만들어 고객을 찾고 있다면, 당신은 시도 할 수 있습니다 : 편집이 가입 포함

SELECT TOP 1 idCust, SUM(total) AS purchaseSum 
FROM tblPurchase 
GROUP BY idCust 
ORDER BY purchaseSum DESC 
: 당신이 구매의 가장 큰 합을 원하는 경우에
SELECT TOP 1 idCust, name, COUNT(*) AS numPurchases 
FROM tblPurchase JOIN tblCustomer ON tblPurchase.idCust = tblCustomer.idCust 
GROUP BY idCust, name 
ORDER BY numPurchases DESC 

+0

하지만 idCust가 아닌 tblCustomer에서 고객의 이름을 표시하고 싶습니다. 어떻게 할 수 있습니까? – WenZ

+0

위의 'JOIN'편집 추가를 참조하십시오. 죄송합니다. 귀하의 질문에 tbl 고객이 없습니다. –

+0

정말 고마워 !!! 그것은 완벽하게 작동합니다! – WenZ

0

아마 당신 같은 것을 시작할 수 있습니다 감사합니다.

  • 피트
관련 문제