반응형

*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;");
반응형

'프로그래밍 > 자바, JDBC' 카테고리의 다른 글

MySQL 컬럼 생성 시 의미  (0) 2020.06.20
MySQL 코드 관련(INNER JOIN / 사원, 부서DB)  (0) 2020.06.19
SQL 명령어  (0) 2020.06.16
MySQL, JDBC 연동  (0) 2020.06.16
스레드 (Thread)  (0) 2020.06.15

+ Recent posts