gpt4 book ai didi

mysql - 如何使用获取最大计数但保留重复计算的值(如果最高)

转载 作者:行者123 更新时间:2023-11-29 19:46:00 25 4
gpt4 key购买 nike

我有下表,我使用的是MYSQL

BayNo   FixDateTime         FixType 
1 04/05/2015 16:15:00 tyre change
1 12/05/2015 00:15:00 oil change
1 12/05/2015 08:15:00 engine tuning
1 04/05/2016 08:11:00 car tuning
2 13/05/2015 19:30:00 puncture
2 14/05/2015 08:00:00 light repair
2 15/05/2015 10:30:00 super op
2 20/05/2015 12:30:00 wiper change
2 12/05/2016 09:30:00 denting
2 12/05/2016 10:30:00 wiper repair
2 12/06/2016 10:30:00 exhaust repair
4 12/05/2016 05:30:00 stereo unlock
4 17/05/2016 15:05:00 door handle repair

在任何给定的一天,都需要找到对给定的间隔号进行的修复的最高数量,如果计算出的数字重复,那么它也应该出现在结果集中
所以希望看到如下结果集

BayNo   FixDateTime           noOfFixes 
1 12/05/2015 00:15:00 2
2 12/05/2016 09:30:00 2
4 12/05/2016 05:30:00 1
4 17/05/2016 15:05:00 1

我设法获得每个计数,但很难获得最大值并保持最高的计算重复值。有人可以帮忙吗

最佳答案

  1. 计算每个 BayNo 每天的修复次数
  2. 查找每个 BayNo 的每日最大修复次数
  3. 使用 2 的结果过滤掉 1 的结果

类似这样的事情:

SELECT fixes.*
FROM (
#1
SELECT BayNo,DATE(FixDateTime) as day,count(*) as noOfFixes
FROM yourTable
GROUP BY BayNo,day
) as fixes
JOIN (
#2
SELECT MAX(noOfFixes) as maxNoOfFixes,BayNo
FROM (
#1
SELECT BayNo,DATE(FixDateTime) as day,count(*) as noOfFixes
FROM yourTable
GROUP BY BayNo,day
) as t
GROUP BY BayNo
) as maxfixes ON fixes.BayNo = maxfixes.BayNo
#3
WHERE fixes.noOfFixes = maxfixes.maxNoOfFixes

如果需要,您可以单独运行重复查询 (1) 并将结果存储在临时表中。

我假设 FixDateTime 列是实际的日期时间或时间戳列。如果不是,您将需要使用不同的方法从中获取日期。

关于mysql - 如何使用获取最大计数但保留重复计算的值(如果最高),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40969931/

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