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

MySQL中如何用查询出的distinct tahun值作为统计条件?

解决方法

你不需要用类似foreach的循环逻辑,SQL的分组查询就能直接实现这个需求。把原来的写法改成按提取后的年份分组,分组后每组对应一个唯一的年份,再在组内统计各选项的数量即可:

SELECT 
    SUBSTRING_INDEX(tahun, '/', -1) AS tahun,
    COUNT(CASE WHEN choice = 'A' THEN 1 END) AS A,
    COUNT(CASE WHEN choice = 'B' THEN 1 END) AS B,
    COUNT(CASE WHEN choice = 'C' THEN 1 END) AS C
FROM tes
GROUP BY SUBSTRING_INDEX(tahun, '/', -1);

说明

  • GROUP BY SUBSTRING_INDEX(tahun, '/', -1) 会把所有提取出相同年份的行归为一组,自动覆盖所有distinct的年份值,不需要手动指定年份条件。
  • 每个分组内的COUNT(CASE...)会统计当前年份下对应选项的数量,替代了你原来固定匹配%2008%的写法,实现了对每个年份的自动统计。

内容的提问来源于stack exchange,提问作者Hoshizora-N

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 01:05:28