programing tip

Java 프로그램에서 SQL count () 쿼리 값에 액세스하는 방법

itbloger 2021. 1. 10. 16:56
반응형

Java 프로그램에서 SQL count () 쿼리 값에 액세스하는 방법


SQL의 COUNT 명령을 사용하여 찾고있는 값을 얻고 싶습니다. 일반적으로 액세스하려는 열 이름을 getInt () getString () 메서드에 입력합니다.이 경우 특정 열 이름이없는 경우 어떻게해야합니까?

나는 테이블 별칭에 사용되는 것과 동일한 방식으로 'AS'를 사용했지만 이것이 작동하는지 확실하지 않습니다.

Statement stmt3 = con.createStatement();
ResultSet rs3 = stmt3.executeQuery("SELECT COUNT(*) FROM "+lastTempTable+") AS count");
    while(rs3.next()){
    count = rs3.getInt("count");
    }

별칭 사용 :

SELECT COUNT(*) AS total FROM ..

그리고

rs3.getInt("total")

BohzoBrabster제공하는 답변 은 분명히 작동하지만 다음을 사용할 수도 있습니다.

rs3.getInt(1);

첫 번째 값을 얻고 귀하의 경우에는 열만 가져옵니다.


이 쿼리가 프로그램에서 작동 할 것으로 예상합니다.

"SELECT COUNT(*) AS count FROM "+lastTempTable+")"

(테이블이 아닌 열에 별칭을 지정해야합니다.)


이 방법으로 수행했습니다 (예제).

String query="SELECT count(t1.id) from t1, t2 where t1.id=t2.id and t2.email='"r@r.com"'";
int count=0;
try {
    ResultSet rs = DatabaseService.statementDataBase().executeQuery(query);
    while(rs.next())
        count=rs.getInt(1);
} catch (SQLException e) {
    e.printStackTrace();
} finally {
    //...
}

Statement stmt3 = con.createStatement();

ResultSet rs3 = stmt3.executeQuery("SELECT COUNT(*) AS count FROM "+lastTempTable+" ;");

count = rs3.getInt("count");

        <%
        try{
            Class.forName("com.mysql.cj.jdbc.Driver").newInstance();
            Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/bala","bala","bala");
            if(con == null) System.out.print("not connected");
            Statement st = con.createStatement();
            String myStatement = "select count(*) as total from locations";
            ResultSet rs = st.executeQuery(myStatement);
            int num = 0;
            while(rs.next()){
                num = (rs.getInt(1));
            }

        }
        catch(Exception e){
            System.out.println(e);  
        }

        %>

위와 비슷하지만 다음과 같이 시도 할 수 있습니다.

public Integer count(String tableName) throws CrateException {
        String query = String.format("Select count(*) as size from %s", tableName);
        try (Statement s = connection.createStatement()) {
            try (ResultSet resultSet = queryExecutor.executeQuery(s, query)) {
                Preconditions.checkArgument(resultSet.next(), "Result set is empty");
                return resultSet.getInt("size");
            }
        } catch (SQLException e) {
            throw new CrateException(e);
        }
    }
}

ReferenceURL : https://stackoverflow.com/questions/2763659/how-do-you-access-the-value-of-an-sql-count-query-in-a-java-program

반응형