MySQL, Oracle

May 11, 2021 - MySQL DB 내 특정 값의 개수 조회 / 전체 개수 조회

jongviet 2021. 5. 11. 23:50

*5월11일

-호텔 관리 프로그램 예제를 진행하면서 각 방의 availability를 int로 처리하였다. 최초 구상 시, 1은 빈방, 2는 입실중 상태, 3은 퇴실 후 청소전 상태와 같이 나타내려고 했기 때문이다.

-따라서 전체방의 크기 중 1, 2, 3이 각각 몇개씩 있는지 DB 내에서 확인할 수 있다면 간략하게 객실현황을 나타낼 수 있다.

 

    public int simRoomSt() {

        String SQL = "select count(*) from room where roomStatus = 2"; //조건을 만족하는 값의 개수를 구하는 SQL문이다. roomStatus가 2인, 즉 입실중 상태의 모든 방의 개수를 구한다.

        try {

           pstmt =  conn.prepareStatement(SQL);

           rs = pstmt.executeQuery(); //rs에 executeQuery()를 담은 후,

           if(rs.next()) {

               return rs.getInt(1); // rs.getInt(1);로 조건을 만족하는 방의 개수를 리턴할 수 있다.

           }

        } catch (SQLException e) {

           System.out.println("리스트 출력  실패");

           e.printStackTrace();

        }

        return 0;

    }

 

        int availRoom =  Controller.room.size() - dao.simpleRoomSt();  //전체 방의 크기 중, 리턴값(점유중인 방)을 뺀다.

        System.out.println("'" + availRoom +  "/50'" + "개의 방 투숙 가능"); // 그후 간략하게 콘솔에 띄울 수 있다.