通用查询sql数据总记录数方法

/**
     * 处理总数count 算法
     * @param oldSQL
     * @return
     */
    private String processCountSQL(String oldSQL){
        if (oldSQL == null || "".equals(oldSQL.trim())) {
            throw new RuntimeException("oldSQL could not null");
        }
        if (oldSQL.toLowerCase().contains("group")) {
            return String.format("SELECT COUNT(1) FROM ( %s ) AS _CRM_TABLE_GEN_1",oldSQL);
        }
        int index = oldSQL.toLowerCase().indexOf("from");
        String substringSql = oldSQL.substring(index);
        return "SELECT COUNT(1) " + substringSql;
    }

 参数:“SELECT m.* FROM crm_member AS m WHERE m.is_delete='N'  AND m.chain_id = 1”

返回结果:“SELECT COUNT(1) FROM crm_member AS m WHERE m.is_delete='N'  AND m.chain_id = 1 ;”

你可能感兴趣的:(通用查询sql数据总记录数方法)