sql - 包含 __ 的 SQL 计数列,没有重复?
问题描述
我正在尝试使用两个表格计算包含少于 20 个行项目的“发票”数量,但不重复发票计数(抱歉,很难解释)
这就是我所拥有的:
SELECT COUNT(a.invoice_id)
FROM invoices a, invoice_line_items b
WHERE b.line_item_amount < 20;
这个结果:
+---------------------+
| COUNT(a.invoice_id) |
+---------------------+
| 1710 | |
+---------------------+
但是当我这样做时SELECT
,我注意到有多次相同的发票(因为它包含多个带有条件的行项目)。我该如何解决?我知道我可以使用 distinct 但我不知道在哪里放置它。谢谢!
解决方案
我想你想要:
SELECT COUNT(DISTINCT ilt.invoice_id)
FROM invoice_line_items ilt
WHERE ilt.line_item_amount < 20;
笔记:
- 切勿在
FROM
子句中使用逗号。 - 始终使用正确、明确、标准、可读的
JOIN
语法。 - 使用有意义的表别名。
推荐阅读
- php - 是否可以在 Symfony 控制台中将参数作为命名空间传递?
- gitlab - 错误:合并失败:合并期间出现问题:3:US-ASCII 中的字节序列无效。请再试一次。在 GitLab 上
- matrix - 在 ThreeJS 中绘制镜像对象
- flutter - 在 Flutter 中将 JSON 作为字符串处理
- apache-flink - Beam WordCount TaskManagerFailure NoClassDefFoundError for MetricUpdates$MetricUpdate
- javascript - Deviantart 的 Greasemonkey/Tempermonkey 脚本
- python - 如何对具有n个元素的数组进行排序,其中k个元素在O(n + k log k)中不合适?
- python - 当日期和时间是整数时,如何使用 Pandas 获取 DateTime 对象?
- data-visualization - 使用 Vegalite 的多直方图
- ios - SwiftUI ScrollView BlendMode 问题