gpt4 book ai didi

sql - 如何计算 SQL 联合中的不同值?

转载 作者:可可西里 更新时间:2023-11-01 07:46:13 26 4
gpt4 key购买 nike

我可以从两个不同的列中选择不同的值,但不知道如何计算它们。我的猜测是我应该使用别名,但无法弄清楚如何正确编写语句。

$sql =  "SELECT DISTINCT author FROM comics WHERE author NOT IN 
( SELECT email FROM bans ) UNION
SELECT DISTINCT email FROM users WHERE email NOT IN
( SELECT email FROM bans ) ";

Edit1:我知道我可以在 php 中使用 mysql_num_rows(),但我认为这需要太多处理。

最佳答案

您可以将查询包装在子查询中:

select  count(distinct author)
from (
SELECT author
FROM comics
WHERE author NOT IN ( SELECT email FROM bans )
UNION ALL
SELECT email
FROM users
WHERE email NOT IN ( SELECT email FROM bans )
) as SubQueryAlias

您的查询中有两个distinctunion 过滤掉重复项。我删除了所有三个(非不同联合是 union all)并将不同性移动到使用 count(distinct author) 的外部查询。

关于sql - 如何计算 SQL 联合中的不同值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4849934/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com