gpt4 book ai didi

mysql - 按年、月分组时对值进行计数

转载 作者:行者123 更新时间:2023-11-29 10:51:40 25 4
gpt4 key购买 nike

我的 mySQL 语句有问题。语句 1 会给我正确的答案,但是,当我将其缩放到语句 2 中时,我得到的计数值明显偏离。我是否遗漏了 GROUP BY 的一个基本问题?

我真正需要的是返回最大 3 个计数以及完成的月份和年份。有解决办法吗?提前致谢!

编辑:使用sql模式= full_group_by

SELECT
count(t2.rec_date), any_value(t2.rec_date)
FROM results t1
join patients t2
on t1.barcode = t2.barcode
WHERE test LIKE '%ssc%'
and year(rec_date) = 2017
and month(rec_date) = 2;
>>> 366, '2017-02-01'

SELECT
count(t2.rec_date) AS count,
any_value(rec_date)
FROM results t1
join patients t2
on t1.barcode = t2.barcode
WHERE test LIKE '%ssc%'
GROUP BY EXTRACT(YEAR_MONTH FROM run_date)
ORDER BY count DESC
LIMIT 3;
>>> 415, 2017-02-28
>>> 373, 2017-01-31
>>> 365, 2016-10-04

最佳答案

我认为这是一种可怕的情况,您只需要一双新的眼睛来审视您的代码。

第一个查询根据 rec_date 字段中的年份和月份进行过滤。

第二个查询按 run_date 字段中的年份和月份进行分组。

除非这些字段以某种方式联系在一起,否则我认为这必须解释计数的差异。

关于mysql - 按年、月分组时对值进行计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43621360/

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