money_spent, money_spent_on_candy 및 날짜와 같은 사용자 값을 기록하는 테이블이 있습니다. SQL : HAVING 문을 충족하는 결과에 SUM이 필요합니다.
그래서이 테이블 (의이 MoneyTable를 부르 자)의 열은 다음과 같습니다- 사용자 아이디
- Money_Spent
- Money_Spent_On_Candy
- 날짜
내 목표는 합계하는 것입니다 총 money_spent 금액 - 해당 날짜에 소비 한 총 금액의 10 % 이상을 지출 한 사용자 만 해당 사탕의 범위.
그 검색어는 무엇입니까?
나는 이것을 가진 사용자를 선택하는 방법을 알고 있습니다. 그런 다음 손으로 데이터와 합계를 출력 할 수 있지만 이것을 하나의 단일 쿼리로 수행하고 싶습니다.
사탕에 돈의 10 % 이상을 소비 한 사용자에 대해서만 사용자 당 지출액을 가져 오는 쿼리가 있습니다.
SELECT
UserId,
SUM(Money_Spent),
SUM(Money_Spent_On_Candy)/SUM(Money_Spent) AS PercentCandySpend
FROM MoneyTable
WHERE DATE >= '2010-01-01'
HAVING PercentCandySpend > 0.1;
답장을 보내 주셔서 감사합니다. – Wasauce
SQL Server 2005의 경우 끝에 테이블 별칭을 추가하십시오. ....> 0.1 ) 표식; –