当前位置: 技术问答>java相关
哪为高手请指教(最好能够用SQL文解决),高分赠送!
来源: 互联网 发布时间:2017-03-10
本文导语: 现在我需要对一张表进行检索,假如共需要检索7个字段,前5个字段为一些名称的信息,第6,7个字段为一个Flag标记,比如说,如果为1的话,就说明此条记录为"已阅读",如果为"0"的话就说明此条记录为"未阅读"等等. 要求: ...
现在我需要对一张表进行检索,假如共需要检索7个字段,前5个字段为一些名称的信息,第6,7个字段为一个Flag标记,比如说,如果为1的话,就说明此条记录为"已阅读",如果为"0"的话就说明此条记录为"未阅读"等等.
要求:
如果在结果集中前5个自段全部相同,側变成一条记录(可以用GROUP BY)的功能,关键是还要对第6,7个字段进行统计,看在已经合并的组中有几条是"已阅读"的,有几条是"未阅读"的,想了很久,解决不了,数据库为Oracle.
哪为高手请指教,最好能够用SQL文解决,如果不能的话,用JAVA又该如何解决?
要求:
如果在结果集中前5个自段全部相同,側变成一条记录(可以用GROUP BY)的功能,关键是还要对第6,7个字段进行统计,看在已经合并的组中有几条是"已阅读"的,有几条是"未阅读"的,想了很久,解决不了,数据库为Oracle.
哪为高手请指教,最好能够用SQL文解决,如果不能的话,用JAVA又该如何解决?
|
正确的写法应该是:
select count(flag6) - sum(flag6) as noread, sum(flag6) as haveread from table group by 前五个字段
是用sum利用了flag6为1和0的取值
select count(flag6) - sum(flag6) as noread, sum(flag6) as haveread from table group by 前五个字段
是用sum利用了flag6为1和0的取值
|
如果flag6为数值型,就用
select sum(flag6) from table group by 前五个字段
select sum(flag6) from table group by 前五个字段
|
select count(flag6) from table where flag6 = 1
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。