프로그래밍/자바, JDBC
MySQL 데이터 갯수 가져오기
현호s
2020. 6. 18. 10:30
반응형
*MySQL 데이터 개수 가져오기
SELECT COUNT(컬럼명) FROM 테이블
- 예제) article 테이블에서 id 개수 가져올 때
id | title | body |
1 | a | a |
2 | b | b |
4 | d | d |
6 | f | f |
7 | g | g |
8 | h | h |
*아래 int 값 반환 함수를 이용
selectRowIntValue("SELECT COUNT(id) FROM article");
결과 : 6
// int값 반환
public int selectRowIntValue(String sql) {
Map<String, Object> row = selectRow(sql);
for (String key : row.keySet()) {
Object value = row.get(key);
if (value instanceof String) {
return Integer.parseInt((String) value);
}
if (value instanceof Long) {
return (int) (long) value;
} else {
return (int) value;
}
}
return -1;
}
// String값 반환
public String selectRowStringValue(String sql) {
Map<String, Object> row = selectRow(sql);
for (String key : row.keySet()) {
Object value = row.get(key);
return value + "";
}
return "";
}
// Boolean값 반환
public boolean selectRowBooleanValue(String sql) {
int rs = selectRowIntValue(sql);
return rs == 1;
}
*MySQL 컬럼을 그룹화 하여 개수 가져오기
1. 컬럼 그룹화 방법
SELECT 컬럼 FROM 테이블 GROUP BY 그룹화할 컬럼명;
2. 조건 설정 후 그룹화 방법
SELECT 컬럼 FROM 테이블 WHERE 조건식 GROUP BY 그룹화할 컬럼명;
3. 컬럼 그룹화 후 조건 설정
SELECT 컬럼 FROM 테이블 GROUP BY 그룹화할 컬럼명 HAVING 조건식;
- 예제) article 테이블에서 boardId 내에서 특정 값 그룹화 하여 개수 구하기.
id | title | boardId |
1 | a | 1 |
2 | b | 1 |
3 | c | 2 |
4 | d | 2 |
7 | g | 1 |
8 | h | 1 |
* article 테이블에서 boardId 그룹화 하여 그룹화 한 것에 따른 boarId 개수 조회
* boardId가 1 이상 인 것의 개수 구하기
selectRowIntValue("SELECT boardId, COUNT(boardId) AS cnt FROM article WHERE boardId > 1 GROUP BY boardId;");
* boardId가 2 이하 인 것의 개수 구하기
selectRowIntValue("SELECT boardId, COUNT(boardId) AS cnt FROM article WHERE boardId < 2 GROUP BY boardId;");
반응형