select @sql = @sql + ' , max(case subject when ''' + subject+ ''' then score else 0 end) [' + subject+ ']' from (select distinct subject from Stu) as a set @sql = @sql + ' from Stu group by name' print @sql --打印生成的sql exec(@sql) --执行该sql 注: case when的...
CASE可能是 SQL 中被误用最多的关键字之一。虽然你可能以前用过这个关键字来创建字段,但是它还具有更多用法。例如,你可以在WHERE子句中使用CASE。 首先让我们看一下CASE的语法。在一般的SELECT中,其语法如下: SELECT<myColumnSpec>= CASE WHEN<A>THEN<somethingA> WHEN<B>THEN<somethingB> ELSE<somethingE> END...
1. CASE WHEN语句与聚合函数一起使用 有时,我们需要使用一条查询语句来计算多个不同条件的聚合函数。在这种情况下,可以使用CASE WHEN语句与聚合函数一起使用。例如,以下查询返回了people表中年龄在18到25岁之间和在25到35岁之间的人数,以及这些人的平均收入:SELECT COUNT(CASE WHEN age >= 18 AND age <= 2...
SELECTcourse_name,CASEWHENcourse_idin(SELECTcourse_idFROMopencoursesWHEREmonth=200706)THEN'O'ELSE'X'ENDAS"6月",CASEWHENcourse_idin(SELECTcourse_idFROMopencoursesWHEREmonth=200707)THEN'O'ELSE'X'ENDAS"7月",CASEWHENcourse_idin(SELECTcourse_idFROMopencoursesWHEREmonth=200708)THEN'O'ELSE'X'ENDAS"...
select created_time 购买时间, sum(case when sex=1 and buy_number=1 then 1 end) 男性首次购买人数, sum(case when sex=2 and buy_number=1 then 1 end) 女性首次购买人数, sum(case when sex=1 and buy_number>1 then 1 end) 男性多次购买人数, sum(case when sex=2 and buy_number>1 then...
commit;3、在表2中插入数据 insert into test_case2 values(1,'aa');insert into test_case2 values(2,'bb');insert into test_case2 values(3,'cc');insert into test_case2 values(6,'ee');commit;4、两表关联,并编写case when的语句 select t.*,case when b.id is not null ...
SELECT (Case when girl='a' then A.oper_name_1 else B.oper_name_1) AS oper_name_1,(Case when girl='a' then A.oper_name_2 else B.oper_name_2) AS oper_name_2,FROM A--你试试,应该是可以的
WHEN col_1 = NULL,这是一个错误的用法,这个时候我们应该选择用WHEN col_1 IS NULL。 七、小结 select 与 case结合使用最大的好处有两点,一是在显示查询结果时可以灵活的组织格式,二是有效避免了多次对同一个表或几个表的访问。 下面举个简单的例子来说明。例如表 students(id, name ,birthday, sex, grade...
当然,以下是关于SQL中SELECT CASE语句的详细文档。 SQL SELECT CASE 语句 概述 在SQL查询中,CASE语句用于根据某些条件返回不同的结果。它类似于编程语言中的if-else逻辑结构。CASE语句可以在SELECT、UPDATE、DELETE和SET等子句中使用,但最常见的用法是在SELECT子句中进行条件判断。 语法 简单CASE表达式 CASE input_expre...
case when col_1 in ('a','b') then '第一类' when col_1 in ('a') then '第二类' else '其他' end 1. 2. 3. 4. 2、then 后面是可以跟字段的 select age_level, (case when age_level = 1 then Chile_num when age_level=2 then adult_num when age_level=3 then older_num end) ...