求SQL:如何压缩某列是0值的记录

chido 2003-07-28 10:06:32
该列是个SUM计算列,还有其他计算列,其他计算列不是0值,该列是0值,如何压缩掉这样的记录?

id sum(a) sum(b)
--------------
1 0 5
2 0 6
3 2 8
4 1 7
例如上面的第1,2列
...全文
30 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
tsj68 2003-07-28
  • 打赏
  • 举报
回复
select id,sum(a),sum(b) from tab where tab.date >= to_date('2003-01-01','YYYY-DD-MM') group by id having sum(a)<>0 and sum(b)<>0;
chido 2003-07-28
  • 打赏
  • 举报
回复
a1 和b1 不是数据库的列可以放在条件语句里么?我也想这样加来着,但是在PL/SQL Developer中报告是无效列名啊。
qiyousyc 2003-07-28
  • 打赏
  • 举报
回复
select sum(a) a1,sum(b) b1 from tab where tab.date >= to_date('2003-01-01','YYYY-DD-MM') and (a1<>0 or b1<>0)
chido 2003-07-28
  • 打赏
  • 举报
回复
delete table?
没很明白。我的SQL大概是这样的
select sum(a),sum(b) from tab where tab.date >= to_date('2003-01-01','YYYY-DD-MM')

目的就是作一个报表,a是一周的数据,b是从年出就开始汇总出来的数据,但是有可能一周里a是0,但是从年初开始数据就不是0了,这样的数据不需要,如何不显示这些数据?
愉快的登山者 2003-07-28
  • 打赏
  • 举报
回复
delete table where a = 0
chido 2003-07-28
  • 打赏
  • 举报
回复
有人作过没有,虽然我不会,但是对各位来说,应该不是很难吧,我可以加分
chido 2003-07-28
  • 打赏
  • 举报
回复
有人作过没有,虽然我不会,但是对各位来说,应该不是很难吧,我可以加分
pegtop 2003-07-28
  • 打赏
  • 举报
回复
取值时将id也取出来,
select id,sum(a),sum(b) from tab where tab.date >= to_date('2003-01-01','YYYY-DD-MM')
group by id having sum(a)>0;
pegtop 2003-07-28
  • 打赏
  • 举报
回复
beckhambobo(beckham) 那样是正确的!
beckhambobo 2003-07-28
  • 打赏
  • 举报
回复
只要判断sum(a)是否为零:
select sum(a),sum(b) from tab where tab.date >= to_date('2003-01-01','YYYY-DD-MM')
group by id having sum(a)>0;

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧