gpt4 book ai didi

mysql - 如何根据没有数据的月份统计并选择所有记录

转载 作者:行者123 更新时间:2023-11-29 11:15:12 26 4
gpt4 key购买 nike

我有一个名为 tbl_remit 的表。

id   emp_id    comp_name    e_from       e_to         amount
1 123 a 2016-01-01 2016-01-31 10.00
2 123 a 2016-02-01 2016-02-29 5.00
3 123 a 2016-03-01 2016-03-31 20.00
4 456 b 2016-02-01 2016-02-29 50.00
5 789 c 2016-02-01 2016-02-29 10.00
6 789 c 2016-03-01 2016-03-31 15.00

我需要统计并选择2016-01-01到2016-01-31期间所有未付款的emp_id。

雇主总数:3(2016-01-01 至 2016-01-31) 期间未付款的雇主总数:2

id   emp_id    comp_name    
1 456 b
2 789 c

有没有办法统计没有数据的地方?这是我使用这个语句的语句。

SELECT COUNT(PEN) FROM view_remit WHERE E_FROM != '"& varDateFrom &"' AND E_TO != '"& varDateTo &"' AND Assigned_ACCOUNT = '"& varAssignedAccount &"'

很抱歉提出这个新手问题。

最佳答案

我只有这个表,您可以使用子查询的否定匹配来获取此数据:

SELECT DISTINCT emp_id, comp_name
FROM tbl_remit
WHERE emp_id NOT IN
(SELECT emp_id
FROM tbl_remit
WHERE (e_from <= '2016-01-31' AND e_to >= '2016-01-01')
)

首先,子查询从 tbl_remit 的行中选择相关时间段内的所有 emp_id。接下来,您询问那些不在该集合中的 emp_id。

此查询不会显示从未支付过任何费用的人员的 emp_id。如果您有一个包含可能的 emp_id 的单独表,您还可以使用该表作为主查询,并将 emp_id 与 tbl_remit 子查询中的 emp_id 进行匹配。

关于mysql - 如何根据没有数据的月份统计并选择所有记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39869484/

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