|
0
|
| LetEpsilonBeLessThanZero · 技术社区 · 7 年前 |
|
|
1
1
您可以使用CTE生成所有月份值,要么形成固定的起始点,要么基于表中的最早日期:
使用最早开始日期为1990-11-17的数据(如您的示例中所示),可以生成333行:
然后,可以在联接到表的查询中使用它,例如:
假设您希望包括仍有工作的人,所以您需要允许结束日期为空(除非您正在为仍有工作的人使用神奇的结束日期值…) 将日期存储为字符串会更复杂一些,但您可以用类似的方式生成月份信息:
用少量的数据进行了非常轻微的测试,两种方法似乎都有效。 |
|
|
2
0
如果您想得到月底受雇的员工,则可以在查询的where子句中使用last-day函数。此外,还可以在查询的group by子句中使用该函数。所以您的查询如下:
或者,如果您只想计算每月雇用的员工数,请使用下面的查询。
|
|
|
maddy · 如何根据oracle SQL中的某一列值进行排名 2 年前 |
|
|
kiric8494 · 显示以元音开头和结尾的城市名称 3 年前 |
|
|
Franz Biberkopf · Oracle:组合子查询和聚合函数 3 年前 |
|
|
BitLauncher · 甲骨文-如何模拟位列和布尔和/或? 3 年前 |
|
|
Arifullah · 如何从oracle中的列中删除特定的初始字符? 3 年前 |
|
|
Anar · Oracle SQL用户定义函数 3 年前 |
|
|
user1312312 · 如何为一组表编写通用触发器? 3 年前 |