方法-用SQL语句查询User表中newsh属性为“政治类新闻”和“娱乐类新闻”的人数放入MAP中

问题描述

用SQL语句查询User表中newsh属性为“政治类新闻”和“娱乐类新闻”的人数放入MAP中
用SQL语句查询User表中newsh属性为“政治类新闻”和“娱乐类新闻”的人数放入MAP中
问题一:整个方法该如何实现
问题二:SQL语句怎么写

参考用例

类似这样的方法 新手不知道该怎么改动成自己需要的方法
求助各位大神

public Map<String Long> totalInventory(int year){        //获取采购订单(已入库status=2)中指定产品的数量        String sql = ""select month(p.pur_date) m sum(pi.num) n ""                     + "" from t_purchase_item pi ""                     + "" join t_purchase p on pi.purc_id=p.id ""                     + "" where p.status=2 and year(p.pur_date) = ? ""                     + "" group by month(p.pur_date)"";        Map<String Long> map = getSession().doReturningWork(new ReturningWork<Map<String Long>>() {            @Override            public Map<String Long> execute(Connection conn)                    throws SQLException {                Map<String Long> map = new LinkedHashMap<String Long>();                PreparedStatement pstmt = conn.prepareStatement(sql);                pstmt.setInt(1 year);                ResultSet rs = pstmt.executeQuery();                while(rs.next()){                    String month = rs.getString(1);                    Long num = Long.valueOf(rs.getLong(2));                    map.put(month num);                }                return map;            }        });        return map;    } 

解决方案

 public Map<String Long> sumPolEntNews(){        //查询政治类新闻和娱乐类新闻的总数        String sql = ""select count(*) from USER where  newsh ='政治类新闻' or newsh ='娱乐类新闻'"";        Map<String Long> map = getSession().doReturningWork(new ReturningWork<Map<String Long>>() {            @Override            public Map<String Long> execute(Connection conn)                    throws SQLException {                Map<String Long> map = new LinkedHashMap<String Long>();                PreparedStatement pstmt = conn.prepareStatement(sql);                ResultSet rs = pstmt.executeQuery();                while(rs.next()){                    Long num = Long.valueOf(rs.getLong(1));                    map.put(""政治类新闻和娱乐类新闻的总数"" num);                }                return map;            }        });        return map;    } 

解决方案二:
select * from User where newsh = ‘政治类新闻’ or newsh = ‘娱乐类新闻’

时间: 2024-10-30 09:35:06

方法-用SQL语句查询User表中newsh属性为“政治类新闻”和“娱乐类新闻”的人数放入MAP中的相关文章

sql-如何用SQL语句查询Table表中的ID1中的O1,O2,O3为1 的数目

问题描述 如何用SQL语句查询Table表中的ID1中的O1,O2,O3为1 的数目 如何用SQL语句查询Table表中的ID1中的O1,O2,O3为1 的数目 Table ID O1 O2 O3 ID1 1 1 0 ID2 1 0 1 ID3 0 1 1 解决方案 select COUNT(*), (select COUNT(*) FROM a where O1='1') AS COUNTO1,(SELECT COUNT(*) FROM A WHERE O2="1") AS COUN

如何写一个方法用SQL语句查询一张表中有多少条数据,方法改怎么写?

问题描述 如何写一个方法用SQL语句查询一张表中有多少条数据,方法改怎么写? 将查询的的返回值为整型 参考用例 类似 以下方法查询政治类新闻人数 新手不知道该如何改动成自己需要的方法 public Map<String, Long> sumPolEntNews(){ //查询政治类新闻人数总和 String sql = "select count(*) from t_user where newsh ='政治类新闻' "; Map<String, Long> m

c#中如何每隔一段时间产生一个随机数并将其放入数据库中,随机数的变化范围不能太大

问题描述 c#中如何每隔一段时间产生一个随机数并将其放入数据库中,随机数的变化范围不能太大 解决方案 解决方案二:放一个定时器在tick里面写intx=newRandom().NextDouble(下限,上限);//把它存入数据库

MySQL中优化sql语句查询常用的30种方法

本篇文章是对MySQL中优化sql语句查询常用的30种方法进行了详细的分析介绍,需要的朋友参考下   1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描. 3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以

只有两个字段用一个sql语句查询出某个学生的姓名、成绩以及在表中的排名_数据库其它

昨天去面试时遇到一个这样的问题: 有一张成绩表,只有两个字段,姓名和成绩.怎样用一个sql语句查询出某个学生的姓名,成绩以及在表中的排名? 一时间我也想不出具体实现,我就提了两种思路:一种是通过join关联一个查询出他排名的sql语句:一种是通过group by来实现. 回答得连自己都觉得有点心虚.请问大家如何实现呢? 假设:表名字为Course,两个字段分别为name和score 实现语句: SELECT 学生,成绩, (SELECT COUNT(*) FROM 表 WHERE a.成绩<=成

sql语句-表T(A)包含正整数,可能有重复,构造一个SQL语句查询不在表T中的最小正整数

问题描述 表T(A)包含正整数,可能有重复,构造一个SQL语句查询不在表T中的最小正整数 表T(A)包含正整数,可能有重复,构造一个SQL语句查询不在表T中的最小正整数,需要考虑表T包含或不包含正整数1两种情况.不能编程实现.考虑了半天没有很好的思路,请大家指点则个 解决方案 DECLARE @minvalue INT = select min(A) from T IF minvalue > 1 return 1 ELSE DECLARE @maxvalue INT = select max(A

数据库表中日期记录为2009-04-23的形式,如何用sql语句查询2009年4月份的所有记录,请帮帮我!!谢谢!!

问题描述 数据库表中日期记录为2009-04-23的形式,如何用sql语句查询2009年4月份的所有记录,请帮帮我!!谢谢!! 解决方案 解决方案二:补充一句我需要HQL语句解决方案三:fromClasswheredatebetweendate'2009-04-01'anddate'2009-04-30'解决方案四:引用2楼endlesspass的回复: fromClasswheredatebetweendate'2009-04-01'anddate'2009-04-30' 就只有这一种思路了吗

sql语句查询数据库中的表名/列名/主键/自动增长值实例_MsSql

sql语句查询数据库中的表名/列名/主键/自动增长值 ----查询数据库中用户创建的表 ----jsj01 为数据库名 select name tablename from jsj01..sysobjects where type='U' and name not in ('dtproperties') --查询表里的字段信息 ---docs为表名 ---- select * from syscolumns where id = object_id('docs') ----查询数据库中所有类型

不用SQL语句查询DataTable中的数据

数据|语句 在实际编程工程中,常常遇到这样的情况:DataTable并不是数据库中的,或者DataTable尚未写到数据库,或者从数据库中读出的DataTable已经在本地被改动,又没有写回数据库(可能还要作其他改动),在这些情况下,要查询DataTable中的数据,强大的SQL语言就派不上用场了. 有些.NET程序员采取在数据库中建立临时表等方法来解决这类查询问题.而我觉得这种方法不可行,其实只要用.NET类库中提供的DataView类的强大功能(主要是用它的RowFilter属性),就能方便