❶ 求一sql语句,COUNT(正数-负数)
SELECT WL, SUM(CASE WHEN SL > 0 THEN 1 ELSE -1 END)
FROM TAB
GROUP BY WL
SELECT statement run complete.
WL SUM
001 1
002 2
003 0
004 1-
如果按照你的显示的话,显示器为负数,显示为0,那么还要做多一步
SELECT WL,
CASE WHEN SUM(CASE WHEN SL > 0 THEN 1 ELSE -1 END) < 0 THEN 0
ELSE SUM(CASE WHEN SL > 0 THEN 1 ELSE -1 END) END
FROM A
GROUP BY WL
ORDER BY WL
SELECT statement run complete.
WL CASE expression
001 1
002 2
003 0
004 0
❷ sql 进行加减和判断 问题
加一个id列,把结果存为表tbxxx
1、计算余额,用类似余额=(select sum(借方-贷方) as 余额 from tbxxx where id<=a.id) from tbxxx as a
2、用case when 余额>0 then '借' else '贷' end as 方向
❸ sql语句如何将结果集里面的正数转换为负数,,各位大虾帮帮忙。。
假如原有的值获取:
select [Amount] from orders
改成
select -[Amount] from orders
就是负值了。因为合理的amount应该是正的。
如果你担心万一出现了负的amount
用-abs([Amount])也可以
❹ sql 查询时数量有很多负数 怎么消除负数,不清除清除正数只改变正数
我大致知道什么意思了,楼主是想留下产品总数和批号的数量为正数的行数据。那楼主可以这样写:
第一种,汇总后筛选:
select * from 产品批次表 a
join (select 名称,sum(数量) as 总计数量 from 产品批次表
group by 名称)b
on a.名称=b.名称
where a.数量>0
第二种,使用开窗函数
select a.名称,a.批号,a.数量 from (
select 名称,批号,数量 as 原始数量,sum(数量) over(partation 名称) as 数量 from 产品批次表
) a
where a.原始数量>0
第二种写法使用分析函数实现,个人推荐使用第二种方法
❺ SQL正数变负数
1、首先打电脑,进入SQL数据库命令编辑栏。
❻ SQL查询如何转换正负数
select 编号,-count(编号) as 列名 from 表 group by 编号
count里边的编号可以用星号来代替,不用写明是具体的哪个字段
以上,希望对你有所帮助!