본문 바로가기
Database/MySQL

[Mysql] 데이터 합계, 내림차순, 오름차순 정렬 등

by java나유 2022. 7. 5.
mysql> select * from pay order by p_cost desc;
+------+--------------+---------------+---------------------+----------+----------+--------+------+
| p_no | p_store      | p_number      | p_time              | p_card   | p_months | p_cost | p_re |
+------+--------------+---------------+---------------------+----------+----------+--------+------+
|    4 | 현대백화점   | 3611264692414 | 2022-05-08 17:12:55 | 신한카드 | 일시불   | 248000 | Y    |
|   16 | 이마트마곡점 | 3611264692414 | 2022-05-22 16:32:52 | 하나카드 | 2개월    | 248000 | Y    |
|   12 | 롯데백화점   | 9331312245524 | 2022-05-21 10:12:50 | 신한카드 | 3개월    | 228700 | Y    |
|    5 | 롯데백화점   | 2456781123245 | 2022-05-10 13:12:55 | 국민카드 | 3개월    | 154800 | Y    |
|    3 | 이마트인천점 | 9210233222339 | 2022-05-08 13:02:15 | 하나카드 | 2개월    | 118000 | Y    |
|    9 | 이마트마곡점 | 1263656514459 | 2022-05-19 16:07:44 | 하나카드 | 2개월    |  76000 | Y    |
|    7 | 롯데백화점   | 7656462265410 | 2022-05-11 14:12:55 | 신한카드 | 일시불   |  61000 | Y    |
|   13 | 현대백화점   | 7656462265410 | 2022-05-21 11:12:45 | 롯데카드 | 일시불   |  61000 | Y    |
|   10 | 롯데백화점   | 8766545233212 | 2022-05-20 16:16:55 | 현대카드 | 일시불   |  58900 | Y    |
|    1 | 롯데백화점   | 9203101937988 | 2022-05-01 19:20:50 | 신한카드 | 일시불   |  37000 | Y    |
|   15 | 롯데백화점   | 9203101937988 | 2022-05-21 14:52:54 | 국민카드 | 일시불   |  37000 | Y    |
|   18 | 이마트화곡점 | 9203101937988 | 2022-01-07 13:12:55 | 롯데카드 | 2개월    |  37000 | Y    |
|   11 | 이마트마곡점 | 7612323337489 | 2022-05-20 16:12:55 | 신한카드 | 일시불   |  32500 | Y    |
|    6 | 이마트인천점 | 5678818234496 | 2022-05-10 17:09:51 | 현대카드 | 일시불   |  24000 | Y    |
|   14 | 현대백화점   | 5678818234496 | 2022-05-21 13:42:35 | 하나카드 | 일시불   |  24000 | Y    |
|   17 | 롯데백화점   | 5678818234496 | 2022-05-22 17:49:51 | 현대카드 | 일시불   |  24000 | Y    |
|    2 | 현대백화점   | 0612329255417 | 2022-05-07 11:10:00 | 현대카드 | 일시불   |  19000 | Y    |
|    8 | 롯데백화점   | 0612329255417 | 2022-05-12 15:32:50 | 신한카드 | 일시불   |  19000 | Y    |
+------+--------------+---------------+---------------------+----------+----------+--------+------+
18 rows in set (0.00 sec)

*상품코드, 핸드폰 번호 등은 int로 하면 맨 앞에 '0'못 씀

 

데이터 형태 확인

('0','롯데백화점','9203101937988','2022-05-01 19:20:50','신한카드','일시불','37000','Y');
('0','현대백화점','0612329255417','2022-05-07 11:10:00','현대카드','일시불','19000','Y');
('0','이마트인천점','9210233222339','2022-05-08 13:02:15','하나카드','2개월','118000','Y');
('0','현대백화점','3611264692414','2022-05-08 17:12:55','신한카드','일시불','248000','Y');

테이블 생성

mysql> create table pay(
    -> p_no int(8)not null auto_increment,
    -> p_store char(20)not null,
    -> p_number char(20)not null,
    -> p_time datetime not null default '0001-01-01 01:00:00',
    -> p_card char(100)not null,
    -> p_months char(40)not null,
    -> p_cost int(10)not null,
    -> p_re enum('Y','N')not null default 'Y',
    -> primary key(p_no)
    -> );
Query OK, 0 rows affected, 2 warnings (0.03 sec)

데이터 insert

mysql> insert into pay values ('0','롯데백화점','9203101937988','2022-05-01 19:20:50','신한카드','일시불','37000','Y');
Query OK, 1 row affected (0.01 sec)

mysql> insert into pay values ('0','현대백화점','0612329255417','2022-05-07 11:10:00','현대카드','일시불','19000','Y');
Query OK, 1 row affected (0.00 sec)

mysql> insert into pay values ('0','이마트인천점','9210233222339','2022-05-08 13:02:15','하나카드','2개월','118000','Y');
Query OK, 1 row affected (0.00 sec)

mysql> insert into pay values ('0','현대백화점','3611264692414','2022-05-08 17:12:55','신한카드','일시불','248000','Y');
Query OK, 1 row affected (0.00 sec)

mysql> insert into pay values ('0','롯데백화점','2456781123245','2022-05-10 13:12:55','국민카드','3개월','154800','Y');
Query OK, 1 row affected (0.01 sec)

mysql> insert into pay values ('0','이마트인천점','5678818234496','2022-05-10 17:09:51','현대카드','일시불','24000','Y');
Query OK, 1 row affected (0.00 sec)

mysql> insert into pay values ('0','롯데백화점','7656462265410','2022-05-11 14:12:55','신한카드','일시불','61000','Y');
Query OK, 1 row affected (0.00 sec)

mysql> insert into pay values ('0','롯데백화점','0612329255417','2022-05-12 15:32:50','신한카드','일시불','19000','Y');
Query OK, 1 row affected (0.00 sec)

mysql> insert into pay values ('0','이마트마곡점','1263656514459','2022-05-19 16:07:44','하나카드','2개월','76000','Y');
Query OK, 1 row affected (0.00 sec)

mysql> insert into pay values ('0','롯데백화점','8766545233212','2022-05-20 16:16:55','현대카드','일시불','58900','Y');
Query OK, 1 row affected (0.00 sec)

mysql> insert into pay values ('0','이마트마곡점','7612323337489','2022-05-20 16:12:55','신한카드','일시불','32500','Y');
Query OK, 1 row affected (0.00 sec)

mysql> insert into pay values ('0','롯데백화점','9331312245524','2022-05-21 10:12:50','신한카드','3개월','228700','Y');
Query OK, 1 row affected (0.00 sec)

mysql> insert into pay values ('0','현대백화점','7656462265410','2022-05-21 11:12:45','롯데카드','일시불','61000','Y');
Query OK, 1 row affected (0.00 sec)

mysql> insert into pay values ('0','현대백화점','5678818234496','2022-05-21 13:42:35','하나카드','일시불','24000','Y');
Query OK, 1 row affected (0.00 sec)

mysql> insert into pay values ('0','롯데백화점','9203101937988','2022-05-21 14:52:54','국민카드','일시불','37000','Y');
Query OK, 1 row affected (0.00 sec)

mysql> insert into pay values ('0','이마트마곡점','3611264692414','2022-05-22 16:32:52','하나카드','2개월','248000','Y');
Query OK, 1 row affected (0.06 sec)

mysql> insert into pay values ('0','롯데백화점','5678818234496','2022-05-22 17:49:51','현대카드','일시불','24000','Y');
Query OK, 1 row affected (0.00 sec)

mysql> insert into pay values ('0','이마트화곡점','9203101937988','2022-01-07 13:12:55','롯데카드','2개월','37000','Y');
Query OK, 1 row affected (0.00 sec)

 

*select count(*) from 테이블명 ; 카운트 확인

mysql> select count(*) from pay;
+----------+
| count(*) |
+----------+
|       18 |
+----------+
1 row in set (0.00 sec)

*select * from  테이블명; 확인

mysql> select * from pay;
+------+--------------+---------------+---------------------+----------+----------+--------+------+
| p_no | p_store      | p_number      | p_time              | p_card   | p_months | p_cost | p_re |
+------+--------------+---------------+---------------------+----------+----------+--------+------+
|    1 | 롯데백화점   | 9203101937988 | 2022-05-01 19:20:50 | 신한카드 | 일시불   |  37000 | Y    |
|    2 | 현대백화점   | 0612329255417 | 2022-05-07 11:10:00 | 현대카드 | 일시불   |  19000 | Y    |
|    3 | 이마트인천점 | 9210233222339 | 2022-05-08 13:02:15 | 하나카드 | 2개월    | 118000 | Y    |
|    4 | 현대백화점   | 3611264692414 | 2022-05-08 17:12:55 | 신한카드 | 일시불   | 248000 | Y    |
|    5 | 롯데백화점   | 2456781123245 | 2022-05-10 13:12:55 | 국민카드 | 3개월    | 154800 | Y    |
|    6 | 이마트인천점 | 5678818234496 | 2022-05-10 17:09:51 | 현대카드 | 일시불   |  24000 | Y    |
|    7 | 롯데백화점   | 7656462265410 | 2022-05-11 14:12:55 | 신한카드 | 일시불   |  61000 | Y    |
|    8 | 롯데백화점   | 0612329255417 | 2022-05-12 15:32:50 | 신한카드 | 일시불   |  19000 | Y    |
|    9 | 이마트마곡점 | 1263656514459 | 2022-05-19 16:07:44 | 하나카드 | 2개월    |  76000 | Y    |
|   10 | 롯데백화점   | 8766545233212 | 2022-05-20 16:16:55 | 현대카드 | 일시불   |  58900 | Y    |
|   11 | 이마트마곡점 | 7612323337489 | 2022-05-20 16:12:55 | 신한카드 | 일시불   |  32500 | Y    |
|   12 | 롯데백화점   | 9331312245524 | 2022-05-21 10:12:50 | 신한카드 | 3개월    | 228700 | Y    |
|   13 | 현대백화점   | 7656462265410 | 2022-05-21 11:12:45 | 롯데카드 | 일시불   |  61000 | Y    |
|   14 | 현대백화점   | 5678818234496 | 2022-05-21 13:42:35 | 하나카드 | 일시불   |  24000 | Y    |
|   15 | 롯데백화점   | 9203101937988 | 2022-05-21 14:52:54 | 국민카드 | 일시불   |  37000 | Y    |
|   16 | 이마트마곡점 | 3611264692414 | 2022-05-22 16:32:52 | 하나카드 | 2개월    | 248000 | Y    |
|   17 | 롯데백화점   | 5678818234496 | 2022-05-22 17:49:51 | 현대카드 | 일시불   |  24000 | Y    |
|   18 | 이마트화곡점 | 9203101937988 | 2022-01-07 13:12:55 | 롯데카드 | 2개월    |  37000 | Y    |
+------+--------------+---------------+---------------------+----------+----------+--------+------+
18 rows in set (0.00 sec)

*select sum(p_cost) from 테이블명; 전체금액(p_cost) 확인 : 필드 속성int(숫자)

mysql> select sum(p_cost) from pay;
+-------------+
| sum(p_cost) |
+-------------+
|     1507900 |
+-------------+
1 row in set (0.00 sec)

*select * from pay order by p_time desc; 내림차순 정렬

mysql> select * from pay order by p_time desc;
+------+--------------+---------------+---------------------+----------+----------+--------+------+
| p_no | p_store      | p_number      | p_time              | p_card   | p_months | p_cost | p_re |
+------+--------------+---------------+---------------------+----------+----------+--------+------+
|   17 | 롯데백화점   | 5678818234496 | 2022-05-22 17:49:51 | 현대카드 | 일시불   |  24000 | Y    |
|   16 | 이마트마곡점 | 3611264692414 | 2022-05-22 16:32:52 | 하나카드 | 2개월    | 248000 | Y    |
|   15 | 롯데백화점   | 9203101937988 | 2022-05-21 14:52:54 | 국민카드 | 일시불   |  37000 | Y    |
|   14 | 현대백화점   | 5678818234496 | 2022-05-21 13:42:35 | 하나카드 | 일시불   |  24000 | Y    |
|   13 | 현대백화점   | 7656462265410 | 2022-05-21 11:12:45 | 롯데카드 | 일시불   |  61000 | Y    |
|   12 | 롯데백화점   | 9331312245524 | 2022-05-21 10:12:50 | 신한카드 | 3개월    | 228700 | Y    |
|   10 | 롯데백화점   | 8766545233212 | 2022-05-20 16:16:55 | 현대카드 | 일시불   |  58900 | Y    |
|   11 | 이마트마곡점 | 7612323337489 | 2022-05-20 16:12:55 | 신한카드 | 일시불   |  32500 | Y    |
|    9 | 이마트마곡점 | 1263656514459 | 2022-05-19 16:07:44 | 하나카드 | 2개월    |  76000 | Y    |
|    8 | 롯데백화점   | 0612329255417 | 2022-05-12 15:32:50 | 신한카드 | 일시불   |  19000 | Y    |
|    7 | 롯데백화점   | 7656462265410 | 2022-05-11 14:12:55 | 신한카드 | 일시불   |  61000 | Y    |
|    6 | 이마트인천점 | 5678818234496 | 2022-05-10 17:09:51 | 현대카드 | 일시불   |  24000 | Y    |
|    5 | 롯데백화점   | 2456781123245 | 2022-05-10 13:12:55 | 국민카드 | 3개월    | 154800 | Y    |
|    4 | 현대백화점   | 3611264692414 | 2022-05-08 17:12:55 | 신한카드 | 일시불   | 248000 | Y    |
|    3 | 이마트인천점 | 9210233222339 | 2022-05-08 13:02:15 | 하나카드 | 2개월    | 118000 | Y    |
|    2 | 현대백화점   | 0612329255417 | 2022-05-07 11:10:00 | 현대카드 | 일시불   |  19000 | Y    |
|    1 | 롯데백화점   | 9203101937988 | 2022-05-01 19:20:50 | 신한카드 | 일시불   |  37000 | Y    |
|   18 | 이마트화곡점 | 9203101937988 | 2022-01-07 13:12:55 | 롯데카드 | 2개월    |  37000 | Y    |
+------+--------------+---------------+---------------------+----------+----------+--------+------+
18 rows in set (0.00 sec)

*select * from pay order by p_time asc; 오름차순 정렬

mysql> select * from pay order by p_time asc;
+------+--------------+---------------+---------------------+----------+----------+--------+------+
| p_no | p_store      | p_number      | p_time              | p_card   | p_months | p_cost | p_re |
+------+--------------+---------------+---------------------+----------+----------+--------+------+
|   18 | 이마트화곡점 | 9203101937988 | 2022-01-07 13:12:55 | 롯데카드 | 2개월    |  37000 | Y    |
|    1 | 롯데백화점   | 9203101937988 | 2022-05-01 19:20:50 | 신한카드 | 일시불   |  37000 | Y    |
|    2 | 현대백화점   | 0612329255417 | 2022-05-07 11:10:00 | 현대카드 | 일시불   |  19000 | Y    |
|    3 | 이마트인천점 | 9210233222339 | 2022-05-08 13:02:15 | 하나카드 | 2개월    | 118000 | Y    |
|    4 | 현대백화점   | 3611264692414 | 2022-05-08 17:12:55 | 신한카드 | 일시불   | 248000 | Y    |
|    5 | 롯데백화점   | 2456781123245 | 2022-05-10 13:12:55 | 국민카드 | 3개월    | 154800 | Y    |
|    6 | 이마트인천점 | 5678818234496 | 2022-05-10 17:09:51 | 현대카드 | 일시불   |  24000 | Y    |
|    7 | 롯데백화점   | 7656462265410 | 2022-05-11 14:12:55 | 신한카드 | 일시불   |  61000 | Y    |
|    8 | 롯데백화점   | 0612329255417 | 2022-05-12 15:32:50 | 신한카드 | 일시불   |  19000 | Y    |
|    9 | 이마트마곡점 | 1263656514459 | 2022-05-19 16:07:44 | 하나카드 | 2개월    |  76000 | Y    |
|   11 | 이마트마곡점 | 7612323337489 | 2022-05-20 16:12:55 | 신한카드 | 일시불   |  32500 | Y    |
|   10 | 롯데백화점   | 8766545233212 | 2022-05-20 16:16:55 | 현대카드 | 일시불   |  58900 | Y    |
|   12 | 롯데백화점   | 9331312245524 | 2022-05-21 10:12:50 | 신한카드 | 3개월    | 228700 | Y    |
|   13 | 현대백화점   | 7656462265410 | 2022-05-21 11:12:45 | 롯데카드 | 일시불   |  61000 | Y    |
|   14 | 현대백화점   | 5678818234496 | 2022-05-21 13:42:35 | 하나카드 | 일시불   |  24000 | Y    |
|   15 | 롯데백화점   | 9203101937988 | 2022-05-21 14:52:54 | 국민카드 | 일시불   |  37000 | Y    |
|   16 | 이마트마곡점 | 3611264692414 | 2022-05-22 16:32:52 | 하나카드 | 2개월    | 248000 | Y    |
|   17 | 롯데백화점   | 5678818234496 | 2022-05-22 17:49:51 | 현대카드 | 일시불   |  24000 | Y    |
+------+--------------+---------------+---------------------+----------+----------+--------+------+
18 rows in set (0.00 sec)

* select * from pay where p_time > "2022-05-21 00:00:00"and p_time <= "2022-05-21 23:59:59"; 

/ 5월 21일날짜 데이터만 보기

mysql> select * from pay where p_time > "2022-05-21 00:00:00"and p_time <= "2022-05-21 23:59:59";
+------+------------+---------------+---------------------+----------+----------+--------+------+
| p_no | p_store    | p_number      | p_time              | p_card   | p_months | p_cost | p_re |
+------+------------+---------------+---------------------+----------+----------+--------+------+
|   12 | 롯데백화점 | 9331312245524 | 2022-05-21 10:12:50 | 신한카드 | 3개월    | 228700 | Y    |
|   13 | 현대백화점 | 7656462265410 | 2022-05-21 11:12:45 | 롯데카드 | 일시불   |  61000 | Y    |
|   14 | 현대백화점 | 5678818234496 | 2022-05-21 13:42:35 | 하나카드 | 일시불   |  24000 | Y    |
|   15 | 롯데백화점 | 9203101937988 | 2022-05-21 14:52:54 | 국민카드 | 일시불   |  37000 | Y    |
+------+------------+---------------+---------------------+----------+----------+--------+------+
4 rows in set (0.00 sec)

 

*롯데백화점가격만 추출하기 (대표 한 줄로)

mysql> select *,sum(p_cost) from pay where p_store = '롯데백화점';
+------+------------+---------------+---------------------+----------+----------+--------+------+-------------+
| p_no | p_store    | p_number      | p_time              | p_card   | p_months | p_cost | p_re | sum(p_cost) |
+------+------------+---------------+---------------------+----------+----------+--------+------+-------------+
|    1 | 롯데백화점 | 9203101937988 | 2022-05-01 19:20:50 | 신한카드 | 일시불   |  37000 | Y    |      620400 |
+------+------------+---------------+---------------------+----------+----------+--------+------+-------------+
1 row in set (0.00 sec)

 

*백화점 기준으로 가격 그룹핑

mysql> select p_store ,sum(p_cost) as count from pay group by p_store;
+--------------+--------+
| p_store      | count  |
+--------------+--------+
| 롯데백화점   | 620400 |
| 현대백화점   | 352000 |
| 이마트인천점 | 142000 |
| 이마트마곡점 | 356500 |
| 이마트화곡점 |  37000 |
+--------------+--------+
5 rows in set (0.00 sec)

-필드명 변경 가능 (임시)

mysql> select p_store ,sum(p_cost) as totalmoney from pay group by p_store;
+--------------+------------+
| p_store      | totalmoney |
+--------------+------------+
| 롯데백화점   |     620400 |
| 현대백화점   |     352000 |
| 이마트인천점 |     142000 |
| 이마트마곡점 |     356500 |
| 이마트화곡점 |      37000 |
+--------------+------------+
5 rows in set (0.00 sec)

*결제 건 정리하기 

mysql> select p_store ,sum(p_cost) as totalmoney,count(*) as number from pay group by p_store;
+--------------+------------+--------+
| p_store      | totalmoney | number |
+--------------+------------+--------+
| 롯데백화점   |     620400 |      8 |
| 현대백화점   |     352000 |      4 |
| 이마트인천점 |     142000 |      2 |
| 이마트마곡점 |     356500 |      3 |
| 이마트화곡점 |      37000 |      1 |
+--------------+------------+--------+
5 rows in set (0.00 sec)

*시험*? ex) 5월 21일 백화점별 총 금액 확인 

mysql> select p_store ,sum(p_cost) as totalmoney from pay where p_time >="2022-05-21 00:00:00" and p_time <= "2022-05-21 23:59:59"group by p_store;
+------------+------------+
| p_store    | totalmoney |
+------------+------------+
| 롯데백화점 |     265700 |
| 현대백화점 |      85000 |
+------------+------------+
2 rows in set (0.00 sec)

*카드별로 결제 개수 뽑기

mysql> select p_card,count(*) as cno from pay group by p_card;
+----------+-----+
| p_card   | cno |
+----------+-----+
| 신한카드 |   6 |
| 현대카드 |   4 |
| 하나카드 |   4 |
| 국민카드 |   2 |
| 롯데카드 |   2 |
+----------+-----+
5 rows in set (0.00 sec)

*상품 코드별로 총 금액 뽑기

mysql> select p_number,sum(p_cost) as cno from pay group by p_number;
+---------------+--------+
| p_number      | cno    |
+---------------+--------+
| 9203101937988 | 111000 |
| 0612329255417 |  38000 |
| 9210233222339 | 118000 |
| 3611264692414 | 496000 |
| 2456781123245 | 154800 |
| 5678818234496 |  72000 |
| 7656462265410 | 122000 |
| 1263656514459 |  76000 |
| 8766545233212 |  58900 |
| 7612323337489 |  32500 |
| 9331312245524 | 228700 |
+---------------+--------+
11 rows in set (0.00 sec)

 

728x90

댓글