我有这个数据集,我需要弄清楚, 对于哪个帐户,每个月的给定日期都有-ve和+ ve。
还要显示具有相应金额和日期的这些帐户
Date acct amt
x 123 -1.1
x 123 2.3
y 234 1.4
y 234 1.5
y 234 -4.3
z 345 8.2
z 345 1.3
非常感谢您的帮助。
修改
Select date, acct, amt
from table_name
where date between 'x' and 'z'
order by date, acct;
现在我可以看到上面显示的数据,但我无法弄清楚要用什么来推进。
预期结果(z日期的帐户已消失,因为它有两个+ ve交易):
Date acct amt
x 123 -1.1
x 123 2.3
y 234 1.4
y 234 1.5
y 234 -4.3
答案 0 :(得分:0)
<强> SqlFiddleDemo 强>
您决定使用0
SELECT Table1.*
FROM Table1
JOIN
(
SELECT "Date", "acct"
FROM Table1
GROUP BY "Date", "acct"
HAVING
MIN("amt") < 0
AND MAX("amt") > 0
) T
ON Table1."Date" = T."Date"
AND Table1."acct" = T."acct"
<强>输出强>
| Date | acct | amt |
|------|------|------|
| x | 123 | -1.1 |
| x | 123 | 2.3 |
| y | 234 | 1.4 |
| y | 234 | 1.5 |
| y | 234 | -4.3 |