我在蜂巢逻辑中没有什么问题。我需要在数据集中找到最长的客户。我的数据集中包含以下值
customer time
cust 1 8:01
cust 1 8:02
cust 2 8:02
cust 2 8:03
cust 2 8:04
cust 2 8:05
cust 3 8:02
cust 3 8:03
在我的示例中,根据客户2的总工作时间,客户2的最长。 cust 1的总计数为2,cust 2的计数为4,而cust 3的计数为2。我的问题在8:01到8:05之间出现,最长的持续时间属于cust 2。因此,结果2会出现。我该如何实现这种逻辑。
请帮助
注意:需要无限制操作的解决方案
答案 0 :(得分:1)
类似这样的东西:
select customer
from t
where time >= '8:01' and time <= '8:05'
group by customer
order by count(*) desc
limit 1;
答案 1 :(得分:0)
我认为这将提供理想的
Select distinct customer from table where
(distinct time) = (select max(distinct time) from table)
或者如果您希望按组减少
Select customer from(
(Select customer,(max(time)-
min(time)) as time_diff
from table group by customer
order by time_diff desc LIMIT 1)
;