sql 知识点统计 多表sql查询连接
来源:互联网 发布:智能软件开发 编辑:程序博客网 时间:2024/06/06 00:18
/** * 统计知识点审核率 */@SuppressWarnings({ "unchecked", "rawtypes"})public List<KnowLedgeStatistics> doStatisticKnowledge(){//原始sql:SELECT tab2.topname ,tab2.tcount,tab1.kcount FROM ((SELECT tt.topParentName AS topname, COUNT(*) AS tcount FROM lc_knowledge_type AS tt WHERE child=0 GROUP BY tt.topParentName) AS tab2 LEFT JOIN ((SELECT t.topParentName AS topname, COUNT(*) AS kcount FROM lc_knowledge_manager AS m LEFT JOIN lc_knowledge_type AS t ON m.knowledgeType_id = t.id WHERE STATUS>1 GROUP BY t.topParentName) AS tab1 ) ON tab2.topname=tab1.topname) ORDER BY tab1.kcount DESC,tab2.tcount ASC final String sql = "SELECT tab2.topname ,tab2.tcount,tab1.kcount " +"FROM ("+"(SELECT tt.topParentName AS topname, COUNT(*) AS tcount FROM lc_knowledge_type AS tt WHERE child=0 GROUP BY tt.topParentName) AS tab2"+" LEFT JOIN (SELECT t.topParentName AS topname, COUNT(DISTINCT m.knowledgeType_id) AS kcount FROM lc_knowledge_manager AS m LEFT JOIN lc_knowledge_type AS t ON m.knowledgeType_id = t.id WHERE STATUS>2 AND t.child=0 GROUP BY t.topParentName) AS tab1 " +" ON tab2.topname=tab1.topname) ";List<Object[]> lizt = getHibernateTemplate().execute(new HibernateCallback() {@Overridepublic List<Object[]> doInHibernate(Session session)throws HibernateException, SQLException {SQLQuery q = session.createSQLQuery(sql);q.setCacheable(false);return q.addScalar("topname",StandardBasicTypes.STRING).addScalar("tcount",StandardBasicTypes.INTEGER).addScalar("kcount",StandardBasicTypes.INTEGER).list();} });List<KnowLedgeStatistics> klist = new ArrayList<KnowLedgeStatistics>(); for(Object[] obj :lizt) { KnowLedgeStatistics ks = new KnowLedgeStatistics(); ks.setTopParentName(obj[0].toString()); ks.setGroupLeafNodeNum((int)obj[1]); if(obj[2]!=null) ks.setCheckedNum((int)obj[2]); else ks.setCheckedNum(0); ks.setRate( String.format("%.2f%%", (((double)ks.getCheckedNum()) / ((double)ks.getGroupLeafNodeNum()) * 100))); klist.add(ks); } return klist;}
0 0
- sql 知识点统计 多表sql查询连接
- SQL 多表连接统计查询
- sql统计查询问题
- sql统计查询
- SQL查询统计
- sql统计查询
- sql统计查询
- SQL查询统计问题
- sql统计查询
- sql语句统计查询
- SQL分组统计查询
- SQL查询--连接查询
- sql基础---sql连接查询
- SQL查询的琐碎知识点
- SQL SERVER 连接几个知识点
- SQL查询中的连接
- SQL查询中的连接
- Sql连接查询
- Java内存模型
- javascript格式化日期
- KMP算法推导
- Oracle字符集及其查看和修改
- javascript琐碎的知识点
- sql 知识点统计 多表sql查询连接
- 【错误记录】-eclipse 导入类 提示The import XXX cannot be resolved
- SYN 攻击原理以及防范技术
- SwipeRefreshLayout.setRefresh(true)指示器不显示
- Gallery的基本使用(实现了3D画廊的效果)
- Hessian知识学习总结(二)——Hessian的helloworld
- 让ie浏览器下载word,excel,而不是直接打开
- 7.Redis主从切换--Sentinel
- C中static的作用