SQL에 익숙하지 않고 특정 명령문에 문제가 있습니다.
다음은 몇 가지 샘플 데이터입니다.
date | username
2016-01-01 | JIM
2016-01-01 | BOB
2016-01-01 | BOB
2016-01-02 | JIM
2016-01-03 | JIM
2016-01-03 | JIM
2016-01-03 | BOB
내가하려는 것은 사용자 이름 당 날짜 당 개별 개수가있는 자체 열에 각 날짜를 원한다는 점을 제외하고는 사용자 이름별로 고유 한 날짜를 계산하는 것입니다.
PHP를 통해 각 개별 날짜를 제공하고 단일 SQL 쿼리에서 다음 테이블을 반환 할 수 있기를 바랍니다.
username | 2016-01-01 | 2016-01-02 | 2016-01-03
JIM | 1 | 1 | 2
BOB | 2 | 0 | 1
지금까지 내가 얻을 수있는 것은 날짜, 사용자 이름 및 사용자 이름 당 일일 수 목록입니다.
SELECT date,
haulier,
count(*)
FROM demo
WHERE date >= '2016-01-01' AND
date <= '2016-01-03'
GROUP BY date,
haulier
문안 인사
조건부 집계를 사용할 수 있습니다.
select s.username,
sum(date = '2016-01-01') as cnt_20060101,
sum(date = '2016-01-02') as cnt_20060102,
sum(date = '2016-01-03') as cnt_20060103
from sample s
group by s.username;
특정 날짜를 모르는 경우 동적 SQL을 사용해야합니다. Google "MySQL 동적 피벗"을 사용하여이를 수행하는 방법의 예를 볼 수 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다