디자이너의 사회생활
빅쿼리 시간 2 ,SUM, COUNT, DISTINCT, GROUUP BY, ORDER BY 본문
집계함수등을 쓸 때 결과의 컬럼명이 임의로 나오는데 ( 보통 f0 이런식) 컬럼이 여러개인 경우 정확하게 구분하기 위해서는
집계결과에 출력되는 칼럼에 별명을 지정하는게 좋다.
명령어 as 를 쓴다. 컬럼명지정은 ` backtick 을 쓴다.
as `별명`
(나중에 테이블에도 join 문법을 써서 붙여줄 수 있다.)
1. SUM() : 괄호안의 컬럼의 값을 더하는 함수. 키워드 - 합계, 총
2. COUNT() : 괄호안의 컬럼의 행 수를 세는 함수 괄호필요. 키워드- ~건수
3. DISTINCT : 중복없이 유니크한 값을 뽑을 때 사용 키워드 - 중복없이
괄호를 쓰지 않느다. (범위가 필요 없어서 일까 예를 들어 어디서부터 어디까지 더해라 ~ 컴퓨터에게 지정해주지 않아도 되어서?)
4. GROUP BY : ~별로 묶어서 정렬해야할 때 쓰는 명령어. 키워드 ~별
값을 구분해야하기 때문에 select에서 지정해야 한다!
GROUP BY 명령어를 쓸때는 SELECT 절에서 선언한 컬럼들은 GROUP BY 에 모두 들어가야 한다.
(GROUP BY 에 컬럼명을 하나하나 타이핑하는게 귀찮다면 선언한 순서의 숫자를 써도 된다. )
5. ORDER BY : ~ 순으로 정렬하세요. 키워드 정렬 !
명령문에서 가장 마지막에 실행한다.
6. Date()명령어 쓰는경우 아닌 경우 쿼리 결과 비교해보기
() 안의 컬럼의 값에서 날짜만 뽑는 명령어 !
SELECT DATE(PaymentDate) , COUNT(*) as CntofPayment
FROM `Payment`
GROUP BY PaymentDate
->이렇게 하면 년월일시분초 별로 그룹이 되기때문에 같은날에 결제일시가 각각 달라 같은 결제일에 많은 행이 생긴다.
SELECT DATE(PaymentDate) , COUNT(*) as CntofPayment
FROM `Payment`
GROUP BY DATE(PaymentDate)
-> DATE() 명령어를 쓰면 결제일 기준으로 묶인다.