You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MySQL/PHP中统计序列中唯一数值的数量?

解决序列中唯一数值(日期)的统计问题

表格软件(Excel/Google Sheets)方案

  • 若使用Excel 2021及以后版本,或是Google Sheets,最直接的方式是结合UNIQUE和COUNTA函数:

    =COUNTA(UNIQUE(A1:A3))
    

    把A1:A3替换成你存放日期的单元格范围即可。这个公式会先提取所有不重复的日期,再统计它们的总数,对应你的例子会返回结果3。

  • 若使用无UNIQUE函数的旧版Excel,可借助COUNTIF搭配数组公式实现:

    =SUM(1/COUNTIF(A1:A3,A1:A3))
    

    输入完成后需按Ctrl+Shift+Enter触发数组公式。原理是用COUNTIF统计每个日期的出现次数,取倒数后求和,重复日期会被合并为1,最终得到唯一值的数量。

编程(以Python为例)方案

如果是用代码处理日期元组序列,直接将序列转为集合(集合会自动去重),再获取集合长度即可:

dates = [(2001, 2, 23), (2001, 2, 2), (2001, 2, 6)]
unique_count = len(set(dates))
print(unique_count)  # 输出结果为3

关于COUNT函数的说明

单纯的COUNT函数无法满足需求,它仅统计非空单元格/元素的总数,不会判断内容是否重复。比如你的例子中COUNT刚好返回3,但如果存在重复日期(比如两个(2001,2,23)),COUNT仍会返回3,可实际唯一值数量是2,这时就会出错。必须使用专门处理唯一值的组合函数或方法。

内容的提问来源于stack exchange,提问作者Joel B.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 08:07:09