◆ GROUP BY 구문 > MYSQL

본문 바로가기

사이트 내 전체검색

뒤로가기 MYSQL

◆ GROUP BY 구문

페이지 정보

작성자 관리자 작성일 23-12-23 18:13 조회 734 댓글 0

본문

● 테이블 생성

mysql> CREATE TABLE member4(

id varchar(20) not null,

pass varchar(20) not null,

name varchar(12) default "",

primary key(id)

   );

mysql> create table points (

memberid varchar(20) NOT NULL,

title varchar(40) NOT NULL,

price int(11),

signdate VARCHAR(10)

   );


● INSERT 

insert into member4 values ('1111','1111','유관순');

insert into member4 values ('2222','2222','이순신');

insert into member4 values ('3333','3333','안중근');


insert into points values ('1111','회원가입',1000,'2021-08-13');

insert into points values ('2222','회원가입',1000,'2021-08-13');

insert into points values ('3333','회원가입',1000,'2021-08-14');

insert into points values ('1111','주문',500,'2021-08-15');

insert into points values ('3333','주문',300,'2021-08-15');

insert into points values ('3333','주문',400,'2021-08-16'); 


■ SELECT 구문

mysql> select * from member4;

         7e7ea6142fdd053c4389722e050fe100_1629029161_0709.jpg 


mysql> select * from points;

         ac837b4b44bac87b86975925c7e87ae9_1629020983_1012.jpg 

 

mysql> select memberid, count(*) as count from points group by memberid; 

         ac837b4b44bac87b86975925c7e87ae9_1629021275_4518.jpg

mysql> select signdate, sum(price) as sum from points group by signdate;

         ac837b4b44bac87b86975925c7e87ae9_1629021401_3431.jpg 


mysql> select signdate, sum(price) as sum from points group by signdate having signdate >= '2021-08-15';

         ac837b4b44bac87b86975925c7e87ae9_1629021547_2805.jpg 

  ▶ 설명

  일반적인 select구문에서는 조건을 주려면 where을 사용한다.

  group by 절에서 조건을 주려면 WHERE가 아닌, HAVING을 사용해야 한다.

  select 실행 순서를 보면 where가 group by 보다 먼저 실행되기 때문에, group by에 반응하는 having을 사용해야 한다.

추천0 비추천 0

댓글목록 0

등록된 댓글이 없습니다.


Copyright © dancePKT. All rights reserved.
PC 버전으로 보기