sql - 如果左连接表中的值不为空,则获取计数
问题描述
SELECT o.*, g.goods_tax_price_percent, p.*
FROM `ecs_order_goods` AS o
LEFT JOIN `ecs_order_goods` AS p
ON p.product_id = o.product_id
LEFT JOIN `ecs_goods` AS g
ON o.goods_id = g.goods_id
WHERE o.order_id = '93' ORDER BY goods_id
g.goods_tax_price_percent
如何获得非空值的总数?
我试过
SELECT COUNT(g.goods_tax_price_percent IS NOT NULL) AS tax_item
不工作
我的表示例
---------------------------
TABLE : esc_goods
----------------------------
id | goods_tax_price_percent
----------------------------
1 | NULL
2 | 10
3 | 30
4 | NULL
----------------------------
我想要的结果
我要COUNT(g.goods_tax_price_percent IS NOT NULL) AS tax_item
=2
解决方案
您可以使用count()
:
SELECT COUNT(g.goods_tax_price_percent) as tax_item
FROM ecs_order_goods o LEFT JOIN
ecs_order_goods p
ON p.product_id = o.product_id LEFT JOIN
ecs_goods g
ON o.goods_id = g.goods_id
WHERE o.order_id = 93 ;
LEFT JOIN
可能是INNER JOIN
这个查询的一个。
推荐阅读
- swift - Swift - 初始化时自动将类实例添加到数组中
- c - C语言小写字母转大写
- ios - 从 JSON 中检索图像 URL 并将它们转换为 UIimage 数组
- amazon-web-services - 使用 AWS Cloudfront 避免 CORS,并清理 SPA url
- c++ - 我想加密这个文件,但输出丢失
- javascript - 如何从angular-ui生成pdf
- kdb - 总是使用 neg[.zw] 来确保所有消息都是异步的?
- rest - 如何在 SLIM 中更改 api URL 属性(值)
- c# - HttpClient使用#fragment向angularjs url发送get请求
- python - 如何从 python 生成器获取数据