2
사용자 통계 페이지를 만들고 통계를 올바르게 표시하려고하는데 도움이 필요합니다.MySQL 하위 쿼리/상관 쿼리
나는 등록 된 사용자를 위해 다운로드 할 수있는 파일을 제공하는 웹 사이트를 보유하고 있으며, 다운로드 한 횟수와 각 사용자가 파일을 다운로드 한 횟수 및 다운로드 한 고유 제품 수를 추적하고 싶습니다.
테이블 : customer_statistics
| user | product_id | file_download | date_accessed |
------------------------------------------------------------
| tom | 1104 | mp3 | 2017-05-06 00:00:00 |
| tom | 1048 | video | 2017-05-06 00:00:00 |
| tom | 1048 | video | 2017-05-06 00:00:00 |
| tom | 1048 | video | 2017-05-07 00:00:00 |
| tom | 1048 | video | 2017-05-08 00:00:00 |
| tom | 1010 | video | 2017-05-08 00:00:00 |
| tom | 1077 | video | 2017-05-08 00:00:00 |
| sue | 1749 | photo | 2017-05-09 00:00:00 |
| sue | 1284 | video | 2017-05-09 00:00:00 |
| sue | 1284 | video | 2017-05-09 00:00:00 |
| sue | 1065 | mp3 | 2017-05-09 00:00:00 |
| sue | 1344 | video | 2017-05-10 00:00:00 |
| sue | 2504 | photo | 2017-05-10 00:00:00 |
내가 같은 데이터를 표시하는 것 :
Name | Unique Mp3s | Unique Photos | Unique Videos | Total
----------------------------------------------------------
Tom | 1 | 0 | 3 | 7
Sue | 1 | 2 | 2 | 6
열 unique mp3s/photos/videos
각 파일 유형이 total
가 표시 동안에서 다운로드 얼마나 많은 product_id
독특한 보여 해당 특정 사용자에 대해 합산 된 모든 파일 유형 및 발생 총계.
위의 결과를 얻는 가장 좋은 방법은 무엇입니까?
미리 감사드립니다.
난 당신이 SELECT COUNT (*), 사용자, GROUP_CONCAT 사용자가 테이블 그룹에서 (file_download의 SEPARATOR 'RARE_WORD')'과 같은 일을 할 수 있다고 생각 '그런 다음 파일 형식에 대해 별도의 (RARE_WORD) 파일을 사용하고 http://php.net/manual/en/function.array-count-values.php를 사용하십시오. 그런 다음 필요에 따라 출력하십시오. – chris85
응용 프로그램 코드의 데이터 표시 문제 처리를 진지하게 고려하십시오. – Strawberry
오, 별칭'count (*) '를'total'로 지정하거나 그냥 제거하고 반복 끝에 합계를 사용하십시오. – chris85