select emp_id,
biz_date,
case when
sum(case when morning =1 and afternoon =1
then 1
else 0
end
)
+
max(case when morning =1 and afternoon =0
then 1
else 0
end
)
+
max(case when morning = 0 and afternoon =1
then 1
else 0
end
)
>=2
then 2
else
sum(case when morning =1 and afternoon =1
then 1
else 0
end)
+
max(case when morning =1 and afternoon =0
then 1
else 0
end)
+
max(case when morning = 0 and afternoon =1
then 1
else 0
end)
end as vsttimes
from
(
SELECT
emp_id,
biz_date,
sr_id,
max(case when convert(varchar(2),intime,108) < 12
then 1
else 0
end) as morning,
max(case when convert(varchar(2),intime,108) >= 12
then 1
else 0
end) as afternoon
FROM RPT_INOUT_STORE WITH (nolock)
WHERE FUNC_CODE='F50S01'
AND BIZ_DATE>= @current_year+'-01-01'
AND BIZ_DATE<= @current_year+'-12-31'
GROUP BY EMP_ID,biz_date,sr_id
) a
group by a.emp_id,a.biz_date
分享到:
相关推荐
### Case When 用法 在 SQL 查询语言中,`CASE WHEN` 结构是一种非常有用的工具,可以用来根据条件返回不同的值。它的工作原理类似于编程语言中的 `if...else` 语句,但在 SQL 中用于创建动态列或进行复杂的条件...
在SQL查询中,`CASE WHEN`、`EXISTS`、`NOT EXISTS`以及`IN`和`NOT IN`是常用的操作符,它们用于处理复杂的条件判断和数据筛选。这些概念对于理解和编写高效的SQL语句至关重要,尤其是在数据分析和数据库管理中。 `...
总之,`WHERE CASE WHEN`的组合在Oracle SQL中是一个强大的工具,它允许我们根据复杂逻辑进行数据筛选,灵活适应各种查询需求。理解并熟练掌握这一技巧对于数据库管理员和开发者来说至关重要,可以帮助他们在处理...
### SQL数据库转Access SQL语句改写:Case When Then When Then Else End #### 知识点一:SQL CASE WHEN THEN 结构与Access IIF及SWITCH函数对比 在进行SQL到Access SQL的转换过程中,一个重要的知识点是了解如何...
本文档介绍了SQL中case...when的用法。
CASE表达式提供了很大的灵活性,可以实现复杂的逻辑判断,使得SQL查询更具有可读性和功能性。在处理数据时,它能够帮助你构建出更精细、更具针对性的数据分析和报表。通过熟练掌握CASE的用法,你可以更好地理解和...
在 Oracle 数据库中,`CASE WHEN` 表达式提供了一种在 SQL 查询中实现条件判断的方法,这使得开发人员能够在不使用 PL/SQL 的情况下编写更为灵活和复杂的查询语句。`CASE WHEN` 与 `DECODE()` 函数相似,但因其符合 ...
在SQL查询语言中,`Case`语句是一个非常强大的功能,用于在查询中执行条件判断,它可以根据不同的条件返回不同的结果,这使得SQL能够处理更加复杂的数据筛选和转换需求。`Case`语句有两种基本形式:简单`Case`表达式...
### MySQL中的Case When语句详解 ...此外,`CASE WHEN`还可以与其他SQL语句结合使用,比如聚合函数、子查询等,以满足更复杂的业务需求。希望本文能帮助你更好地理解和使用MySQL中的`CASE WHEN`语句。
SQL 中 Case 用法 Case 语句是 SQL 中一种强大的语句,用于根据不同的条件执行不同的操作。它可以用来实现复杂的逻辑操作,并且可以与其他 SQL 语句结合使用以实现更加复杂的查询。 SQL 中 Case 语句有两种格式:...
### SQL中的Case语法使用详解 在SQL查询语言中,`CASE`语句是一个非常重要的功能,它可以用来构建复杂的条件逻辑,实现对数据的灵活处理。...希望本文能够帮助大家更好地理解和掌握`CASE`语句的使用方法。
SQL__case_when_then_的用法
sql 存储过程 常见的问题 自己用也可分享
### CASE的用法 (Transact-SQL) #### 概述 `CASE` 是 Transact-SQL 中一个非常重要的关键字,用于根据不同的条件返回不同的结果。它支持两种主要的格式:简单表达式和搜索表达式。这两种格式都能有效地帮助开发者...
一条sql语句就能让你case when then怎么用,什么时候用
在SQL Server中,`CASE WHEN` 语句是一种强大的逻辑表达式,用于处理基于不同条件的复杂查询。在多条件模糊查询中,`CASE WHEN` 可以避免在程序端或数据库端拼接SQL字符串,从而减少代码量,提高安全性,并避免SQL...
没有,用case when 来代替就行了. 例如,下面的语句显示中文年月 代码如下: select getdate() as 日期,case month(getdate()) when 11 then ‘十一’ when 12 then ‘十二’ else substring(‘一二三四五六七八九十’,...
### SQL Server 中 CASE 表达式的深入解析与应用实例 #### 概述 在 SQL Server 数据库管理系统中,`CASE` 表达式是一种非常强大的工具,用于在查询语句中进行条件判断和数据处理。它允许用户根据指定的条件返回...
mysql 中case when 遇到乱码解决。查询语句中含有case引起中文乱码解决方法