首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL:其中COUNT(*) =0

MySQL:其中COUNT(*) =0
EN

Stack Overflow用户
提问于 2014-06-03 09:13:29
回答 1查看 3.1K关注 0票数 0

例如,我试图获取没有从其中找到任何行的所有customer_id:

SELECT customer_id FROM transaction WHERE count(*) = '0'

我也试过这样做:

SELECT customer_id, count(*) as total_rows FROM transaction WHERE total_rows='0'

但我得到的错误是,total_rows不是列。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-03 09:17:04

最简单的方法就是用一种不同的方式来思考这个问题:“我如何获得所有没有交易历史记录的客户的列表?”

很简单!您将得到所有客户的列表,并将其与他们的事务结合起来,并筛选出任何拥有非空事务列表的客户。或者,在SQL中:

代码语言:javascript
复制
SELECT 
    customer.customer_id 
FROM customer
LEFT JOIN transaction
    ON transaction.customer_id = customer.customer_id
WHERE
    transaction.transaction_id IS NULL

请注意,您不能像试图使用的那样简单地使用transaction表。它不是一个完整的customer_id列表,而是只包含有订单的客户is。

您必须找到所有客户,然后筛选那些没有事务的客户,而不是在transaction上操作并找到没有事务的客户(这是您根本做不到的)。相似的概念,正好相反的顺序。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24011274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档