반응형
합계의 평균을 제공하는 쿼리를 만드는 데 문제가 있습니다. 여기 stackoverflow에서 몇 가지 예제를 읽었지만 할 수 없었습니다. 누구든지이 작업을 수행하는 방법을 이해하도록 도와 줄 수 있습니까? 이것은 내가 가진 데이터입니다.
Transaction_x0020_Number Product_x0020_Code Sales_x0020_Value Date Cashier
000356 350 24.99 2010-06-04 131
000356 726 32.99 2010-06-04 131
000357 350 24.99 2010-06-04 131
000358 350 24.99 2010-06-04 131
000358 360 24.99 2010-06-04 131
000770 703 69.99 2010-06-04 130
000771 726 32.99 2010-06-04 130
000772 1126 5 2010-06-04 130
000773 482 32.99 2010-06-04 130
000774 600 32.99 2010-06-04 130
000775 350 24.99 2010-06-04 130
기본적으로 계산원의 평균 거래 가치가 필요합니다. 모든 행을 사용하지만 각 트랜잭션에는 여러 행이있을 수 있으므로 기본 평균을 실행할 수 없습니다. 결국 나는 갖고 싶다 :
Cashier| Average|
131 | 44.31 |(Which comes from the sum divided by 3 transactions not 5 rows)
130 | 33.15 |
etc.
이것은 트랜잭션을 합산해야하는 쿼리이지만 AVG 기능을 포함하는 방법이나 위치를 모릅니다.
SELECT `products`.`Transaction_x0020_Number`,
Sum(`products`.`Sales_x0020_Value`) AS `SUM of Sales_x0020_Value`,
`products`.`Cashier`
FROM `products`
GROUP BY `products`.`Transaction_x0020_Number`, `products`.`Date`, `products`.`Cashier`
HAVING (`products`.`Date` ={d'2010-06-04'})
도움을 주시면 감사하겠습니다.
해결 방법
SELECT Cashier,
Sum(Sales_x0020_Value) / COUNT(DISTINCT Transaction_x0020_Number) AS 'avg'
FROM products
WHERE Date = {d'2010-06-04'}
GROUP BY Cashier
참조 페이지 https://stackoverflow.com/questions/2992449
반응형
'MySql' 카테고리의 다른 글
MySQL 회전 된 MySQL 바이너리 로그를 삭제하는 것이 안전합니까? (0) | 2020.11.21 |
---|---|
MySQL 참 / 거짓 값에 적합한 데이터 필드 유형? (0) | 2020.11.21 |
MySQL 오류 mysqli :: real_connect () : (HY000 / 2002) : 라이브 서버에서 내 프로젝트에 액세스하려고 할 때 해당 파일이나 디렉토리가 없습니다. (0) | 2020.11.21 |
MySQL : 쿼리에서 정렬-부작용이 있습니까? (0) | 2020.11.21 |
MySQL IN 및 하위 쿼리를 사용한 MYSQL 업데이트 (0) | 2020.11.21 |
댓글