SQL 从一个sql 语句结果中(作为AS一个表) 查询结果 ;按照count排序
来源:互联网 发布:win10怎么连接有线网络 编辑:程序博客网 时间:2024/06/01 16:16
从 一个sql 语句中查找另一个sql语句查询的结果:
public void getSumCountgsMebDTO1(int memberSum){SQLiteDatabase db = helper.getReadableDatabase();String COUNT_NUM="COUNT_NUM";String sql1 ="select * from "+ "(select "+DBConstants.DB_SEND_GROUP_MB_groupsendid+","+ " count("+DBConstants.DB_SEND_GROUP_MB_groupsendid+ ") "+ " as "+ COUNT_NUM+ " from " + DBConstants.DB_SEND_GROUP_MB+ " group by "+DBConstants.DB_SEND_GROUP_MB_groupsendid+") as tabl2 "//内部用不了COUNT_NUM,外部可以使用+ " where tabl2.COUNT_NUM = "+3;//String sql1 = "select "+DBConstants.DB_SEND_GROUP_MB_groupsendid+","//+ " count("+DBConstants.DB_SEND_GROUP_MB_groupsendid+ ") "//+ " as "+ COUNT_NUM//+ " from " + DBConstants.DB_SEND_GROUP_MB//+ " group by "+DBConstants.DB_SEND_GROUP_MB_groupsendid//+ " order by "+ " count("+DBConstants.DB_SEND_GROUP_MB_groupsendid+ ") "+" desc";Cursor cursor = db.rawQuery(sql1, null);MyLog.e(TAG, " getSumCountgsMebDTO cursor.count = "+cursor.getCount());StringBuffer sb=new StringBuffer();while (cursor.moveToNext()) {int num = cursor.getInt(cursor.getColumnIndex(COUNT_NUM));//String memberNum = cursor.getString(cursor.getColumnIndex(DBConstants.DB_SEND_GROUP_MB_membernumber));String groupsendid = cursor.getString(cursor.getColumnIndex(DBConstants.DB_SEND_GROUP_MB_groupsendid));sb.append(" getSumCountgsMebDTO result = "//+ memberNum +" "+groupsendid+" = "+num+";\n");}MyLog.e(TAG, sb.toString());}
=============获取 某列 在从sqlite语句中查询的结果的cursor当中,===============================================================
/**按照群发组分类: 每个群发组有多少成员;*/public void getSumCountgsMebDTO(ArrayList<GroupSendMemberDTO> gsmdtos){/** * 分析: * 1.gsmdtos 就是当前的群发的成员结果集合; * 2.如果gsmdtos 不包含cursor.get(index),则去除这个groupSendid(将其纪录下来,下次的groupSendid包含则跳过) * 3.如果都包含,则去取出这个groupSendid * 4.通过groupsendid,查询groupSenddto,和groupsendMsg */if (gsmdtos==null||gsmdtos.size()<1) {throw new IllegalArgumentException(" getSumCountgsMebDTO2(ArrayList<GroupSendMemberDTO> gsmdtos) 的gsmdto 的参数异常");}SQLiteDatabase db = helper.getReadableDatabase();String COUNT_NUM="COUNT_NUM";String TABLE2="TABLE2";String sql1 ="select * from " + DBConstants.DB_SEND_GROUP_MB+ " where "+DBConstants.DB_SEND_GROUP_MB_groupsendid+" in "+"(select "+DBConstants.DB_SEND_GROUP_MB_groupsendid+" from "+ "(select "+DBConstants.DB_SEND_GROUP_MB_groupsendid+","+ " count("+DBConstants.DB_SEND_GROUP_MB_groupsendid+ ") "+ " as "+ COUNT_NUM+ " from " + DBConstants.DB_SEND_GROUP_MB+ " group by "+DBConstants.DB_SEND_GROUP_MB_groupsendid+") as "+TABLE2//内部用不了COUNT_NUM,外部可以使用+ " where "+TABLE2+"."+COUNT_NUM+" = "+gsmdtos.size()+" ) ";//String sql1 = "select "+DBConstants.DB_SEND_GROUP_MB_groupsendid+","//+ " count("+DBConstants.DB_SEND_GROUP_MB_groupsendid+ ") "//+ " as "+ COUNT_NUM//+ " from " + DBConstants.DB_SEND_GROUP_MB//+ " group by "+DBConstants.DB_SEND_GROUP_MB_groupsendid//+ " order by "+ " count("+DBConstants.DB_SEND_GROUP_MB_groupsendid+ ") "+" desc";Cursor cursor = db.rawQuery(sql1, null);ArrayList<String> cursorGrpSendIds=new ArrayList<String>();MyLog.e(TAG, " getSumCountgsMebDTO cursor.count = "+cursor.getCount());StringBuffer sb=new StringBuffer();while (cursor.moveToNext()) {String memberNum = cursor.getString(cursor.getColumnIndex(DBConstants.DB_SEND_GROUP_MB_membernumber));String groupsendid = cursor.getString(cursor.getColumnIndex(DBConstants.DB_SEND_GROUP_MB_groupsendid));sb.append(" getSumCountgsMebDTO result = "+groupsendid+" = "+memberNum+";\n");}MyLog.e(TAG, sb.toString());}
阅读全文
0 0
- SQL 从一个sql 语句结果中(作为AS一个表) 查询结果 ;按照count排序
- SQL语句中一个查询结果集作为另一个查询的范围
- sql 排序 并以排序结果作为一个字段
- sql从查询结果创建一个临时表
- SqlServer和Oracle从多行记录(数据集)中查询结果并拼接成一个字符串的SQL语句(纵表数据转成拼接的文本)
- sql中把一个查询结果当做一个新表来查询
- 一个分页排序SQL查询结果集不确定的案例
- 一个分页排序SQL查询结果集不确定的案例
- 按照查询结果中某列出现的次数进行排序的SQL语句
- sql in查询结果按照in的条件排序返回
- sql中通过from接一个查询结果
- sql中通过from接一个查询结果
- 让sql语句结果集不排序,按照in语句的顺序返回结果
- sql语句 不让结果排序,按照in语句的顺序返回结果
- sql 利用游标遍历一个查询结果
- SQL技巧(2) 查询结果排序
- sql 查询结果随机排序
- SQL之查询结果排序
- Spark Python 快速体验
- 12th 【基础】二进制计数
- 走进官方手册系列 --- 详解InnoDB针对不同类型的SQL所采取的锁策略
- 反向传播BP算法
- Mac下写bitcoin执行脚步
- SQL 从一个sql 语句结果中(作为AS一个表) 查询结果 ;按照count排序
- android 生成随机颜色
- MySQL之inner join、left join、right join、limit
- NCBI推出blastp加速服务(Accelerated protein-protein BLAST)
- JavaScript数组排序bug
- 目标检测实例-SSD/examples/detection.ipynb
- CXF WebService整合Spring
- EventBus事件优雅地替换Handler
- Java改变异常输出的一种形式,封装框架的时候觉得有用,自定义异常输出的一种思路