sql - SQL 中的 SELECT 语句用于过滤掉多个条目
问题描述
我想查询一个价格关联了多少个不同的账户。
name | price | acc_no
Allnet Flat S | 14.99 | 1
Allnet Flat XL | 24.99 | 2
Data Flat XL | 14.99 | 2
Data Flat S | 9.99 | 1
Family Flat S | 29.99 | 3
Family Flat XXL| 59.99 | 4
SMS Flat S | 9.99 | 1
我最接近的解决方案是
SELECT price, COUNT(acc_no) FROM "table" GROUP BY price
这里的问题是它显示了两个与 9.99 关联的帐户,尽管它是相同的帐号。我怎样才能让它只计算同一个帐户一次?
解决方案
DISTINCT
在COUNT
函数中使用:
SELECT price, COUNT(DISTINCT account_no) FROM "table" GROUP BY price
-- ^^^^^^^^
推荐阅读
- ruby-on-rails - 将 Rails 连接到 AWS MySQL 数据库
- entity-framework - 无法删除实体框架中的循环依赖对象
- matlab - 灰度直方图的同质性标准
- javascript - 如何使用javascript更改悬停时的图像源,但适用于每张照片
- android - Android中的角角
- python - 将字符串转换为操作
- python - python3中导入的变化
- google-app-engine - 应用引擎坚持绑定80端口
- javascript - 如何查看附加到 ios WkWebW HybridWebView 实现的 Safari 调试器的 console.log 输出?
- reactjs - 获取值异步函数javascript