如何显示mysql表并过滤它们

时间:2016-04-20 08:49:43

标签: php mysql

我有一个mysql表,其组成如下:

invoice     status  value
1234          D     1250
1234          C     1250
2345          D     2300
3456          D     2500
4567          D     2000
4567          C     1250

我想显示它或像这样选择性地报告

invoice     status  value
2345          D     2300
3456          D     2500
4567          D     750

不会显示两个编号为1234的发票,因为它相等并且状态为D和K. 数字4567的两张发票仍然出现在一行中,值为750(由2000 - 1250 = 750形成)

我想使用SELECT命令但是很难做到, 请帮帮我,谢谢

1 个答案:

答案 0 :(得分:0)

一些条件聚合应该做的伎俩

SELECT invoice,'D' as status,
SUM(case WHEN status='D' THEN value ELSE -value END) as sums
FROM t
GROUP BY invoice
HAVING sums>0
相关问题