作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 etrade 交易表。我想要
SELECT symbol, sum(shares), (price * shares) as cost, sum(total) as total
FROM transactions_orig
WHERE type = 'EQ' AND IF(transaction = 'dividend', shares <> 0, ??)
GROUP BY symbol
HAVING sum(shares) > 0
所以我只想在交易类型为股息且股份不等于 0 的情况下包含该行..这意味着股息被再投资而不是以现金支付。如果交易等于股息且股份为零..忽略该行。
我确信我想太多了..但我无法弄清楚。下面是一些示例数据
1. Dividend EQ LGCY 0 114.00 0.00
2. Credit UNKNOWN 0 9.99 0.00
3. Bought EQ BBEP 100 -1978.99 19.69
4. Dividend EQ T 0 157.50 0.00
5. Dividend EQ T 4.42686 -157.50 0.00
6. Adjustment UNKNOWN 0 -90.00 0.00
我试图排除的是第 4 行(支付股息的行)之类的行,但包括第 5 行(购买更多股票的行)
最佳答案
据我了解您的要求。您需要选择所有交易,但不包括零股股息。
格式化你的where子句
WHERE type = 'EQ' AND IF(transaction = 'dividend', shares <> 0, ??)
至
WHERE type = 'EQ' AND ((transaction = 'dividend' and shares <> 0) OR transaction <> 'dividend')
关于mysql - SQL 如果没有的话,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22339215/
我是一名优秀的程序员,十分优秀!