gpt4 book ai didi

mysql计算其他列中不同值的列值

转载 作者:行者123 更新时间:2023-12-01 10:29:03 25 4
gpt4 key购买 nike

我有一张表需要返回两件事(最好是一个查询):
1) 每个日期的唯一 ID 计数
2) otherfield = "-"为唯一 ID 的行数。这意味着,如果同一天的一个id在otherfield中输入了两倍的值“-”,我希望它算作一个。

示例表:

date | id | otherfield
----------
date1 | f | abc
date1 | p | -
date1 | p | -
date2 | f | abc
date2 | d | dee

应该返回表:

date1 | 2 | 1
date2 | 2 | 0

目前我正在使用:

SELECT date, COUNT(DISTINCT `id`) AS id, SUM(IF(otherfield = '-', 1,0)) AS `undeclared` FROM mytable GROUP BY date

但这总结了 otherfield 的所有值,计算 id='p' 的条目两次,我希望它只计算不同的 id。

提前谢谢你。

最佳答案

只需使用条件 count distinct:

select date, count(distinct `id`) as num_ids, 
count(distinct case when otherfield = '-' then id end) as undeclared
from mytable
group by date;

关于mysql计算其他列中不同值的列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44756509/

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