Py学习  »  DATABASE

MySQL:从计数组中选择所有重复的分钟数

Julius Guevarra • 3 年前 • 1295 次点击  

我有这个示例数据,我想查询出勤率最低的员工。

雇员身份证 受雇者 今天 时间到了 暂停
1. 胡安 2022-03-04 07:23:43 05:23:11
1. 胡安 2022-03-03 07:05:43 05:06:21
1. 胡安 2022-03-02 07:12:01 05:32:21
2. 2022-03-04 07:17:01 05:36:21
3. 温迪 2022-03-04 07:23:43 05:23:11
3. 温迪 2022-03-03 07:05:43 05:06:21
3. 温迪 2022-03-02 07:12:01 05:32:21
4. 厕所 2022-03-02 07:54:01 05:02:42

我可以得到给定日期范围内的总出勤次数:

SELECT COUNT(*) in_count, employee_id, employee
FROM active_attendance
WHERE (today BETWEEN  DATE_FORMAT(NOW() ,'%Y-%m-01') AND NOW() )
GROUP BY employee_id
ORDER BY in_count ASC

这就产生了:

不算在内 雇员身份证 受雇者
1. 2.
1. 4. 厕所
3. 1. 胡安
3. 3. 温迪

现在,我正在挣扎如何只过滤最低的 in_count 在这种情况下,我只想 BEN & JOHN 被归还。

我希望它是怎样的:

不算在内 雇员身份证 受雇者
1. 2.
1. 4. 厕所

我尝试过的:这只返回第一个最小值,不包括重复值

SELECT MIN(att), employee_id, employee 
FROM (
    SELECT COUNT(*) in_count, employee, employee_id
    FROM 202_active_attendance
    WHERE  today BETWEEN '2021-04-01' AND '2021-04-30'
    GROUP BY employee_id
    ORDER BY in_count
) AS test
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/127954
 
1295 次点击  
文章 [ 1 ]  |  最新文章 3 年前