레코드 세기

Database/Mysql 2007. 2. 7. 21:46
레코드 세기

COUNT()를 사용해서 레코드 수를 선택할 수 있다.

mysql> SELECT COUNT(*)
   -> FROM pet;
+----------+
| COUNT(*) |
+----------+
|        4 |
+----------+

1 row in set (0.00 sec)
- 'pet' 테이블에는 4개의 레코드가 있다.
- COUNT() 사이에는 필드 리스트가 필요하다.

mysql> SELECT owner, COUNT(*)
   -> FROM pet
   -> GROUP BY owner;
+-------+----------+
| owner | COUNT(*) |
+-------+----------+
| Chan  |        2 |
| Hong  |        2 |
+-------+----------+

2 rows in set (0.00 sec)
- 'pet' 테이블에 'owner' 필드값을 그룹화하여 'owner'와 해당 레코드 수를 선택한다.
- GROUP BY 는 필드를 그룹화 하는데 사용한다.
- COUNT()와 GROUP BY는 데이터를 특성화 시키는데 유용하다.

mysql> SELECT owner, sex, COUNT(*)
   -> FROM pet
   -> WHERE owner = 'hong' OR owner = 'chan'
   -> GROUP BY owner, sex;
+-------+------+----------+
| owner | sex  | COUNT(*) |
+-------+------+----------+
| Chan  | m    |        2 |
| Hong  | f    |        2 |
+-------+------+----------+
2 rows in set (0.00 sec)
- COUNT()를 사용할 때에 전체 테이블을 읽어 들일 필요가 없다.
- 위 'WHERE owner' 처럼 특정 필드를 뽑아낼 수도 있다.

WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

,