`
ljzforever
  • 浏览: 117171 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

t-sql中case的用法

    博客分类:
  • sql
阅读更多
假设有一张表:
CREATE TABLE a
(
id INT,
name VARCHAR(20),
)
INSERT INTO a VALUES(1,'a')
INSERT INTO a VALUES(2,'b')
INSERT INTO a VALUES(3,'c')
INSERT INTO a VALUES(4,'d')
INSERT INTO a VALUES(5,'e')
INSERT INTO a VALUES(6,'a')
INSERT INTO a VALUES(7,'b')
INSERT INTO a VALUES(8,'c')
INSERT INTO a VALUES(9,'d')
INSERT INTO a VALUES(10,'e')

最常用的用法:
SELECT
    CASE
        WHEN id < 3 THEN '<3'
WHEN id >=3 AND id<6 THEN '>3 <6'
WHEN id >=6 THEN '>6'
ELSE 'none'
    END AS [RANGE],name FROM a

来点有意义的用法:
SELECT
CASE
        WHEN id < 3 THEN '<3'
WHEN id >=3 AND id<6 THEN '>3 <6'
WHEN id >=6 THEN '>6'
ELSE 'none'
    END AS [RANGE]
, count(*) AS [num] FROM a
GROUP BY
CASE
WHEN id < 3 THEN '<3'
WHEN id >=3 AND id<6 THEN '>3 <6'
WHEN id >=6 THEN '>6'
ELSE 'none'
END
切记:为了在 GROUP BY 块中使用 CASE,查询语句需要在 GROUP BY 块中重复 SELECT 块中的 CASE 块。
加上排序:
SELECT
CASE
        WHEN id < 3 THEN '<3'
WHEN id >=3 AND id<6 THEN '>3 <6'
WHEN id >=6 THEN '>6'
ELSE 'none'
    END AS [RANGE]
, count(*) AS [num] FROM a
GROUP BY
CASE
WHEN id < 3 THEN '<3'
WHEN id >=3 AND id<6 THEN '>3 <6'
WHEN id >=6 THEN '>6'
ELSE 'none'
END
ORDER BY num desc
分享到:
评论

相关推荐

    Inside Microsoft SQL Server 2008 T-SQL Programming

    9. **错误处理和日志记录**:学习如何在T-SQL中处理运行时错误,使用TRY-CATCH结构进行异常处理,以及日志记录的方法。 10. **性能优化**:探讨查询优化器的工作原理,如何使用索引提高查询性能,以及分析查询执行...

    Inside Microsoft SQL Server 2008 T-SQL Programming.pdf

    - **SQL语句语法**:包括SELECT、INSERT、UPDATE、DELETE等常用语句的使用方法。 - **数据类型**:介绍了SQL Server支持的各种数据类型,如数值类型、字符类型、日期时间类型等。 - **变量与常量**:讲解如何定义...

    MICROSOFT SQL SERVER 2008技术内幕:T-SQL语言基础.pdf

    由于提供的文件信息中仅包含标题、描述、标签和部分内容的指示,但未实际给出电子书的具体内容...接下来,将进入具体的示例和操作部分,通过实例演示上述知识点的使用方法和技巧,帮助读者更好地理解和应用T-SQL语言。

    Microsoft SQL Server 2005技术内幕全套(三):T-SQL查询.part1

    本书首先会介绍T-SQL的基础概念,包括SELECT语句的基本用法,如何从一个或多个表中检索数据,以及如何使用WHERE子句过滤结果。接下来,会深入探讨更高级的查询技巧,如联接(JOIN)操作,用于合并来自不同表的数据;...

    T-SQL程序设计与游标设计

    流程控制命令是 T-SQL 程序设计中的另一个重要组成部分,有多种命令,如 BEGIN…END、IF…ELSE…、CASE、WHILE…CONTINUE…BREAK、WAITFOR、GOTO 和 RETURN 等。这些命令可以实现程序的流程控制,例如条件语句、循环...

    microsoft sql server 2008技术内幕 t-sql语言基础

    在T-SQL中,你可以使用BEGIN TRANSACTION、COMMIT和ROLLBACK语句来管理和控制事务。 6. **视图** 视图是虚拟表,基于一个或多个表的查询结果。它们提供了一种方式来封装复杂查询,简化数据访问,并可以作为安全...

    T-SQL编程基础_1

    虽然给定内容没有完整展示游标的使用方法,但在实际应用中,游标常用于处理大量数据的情况。 ### 结论 本文介绍了T-SQL编程的一些基础知识点,包括表的创建、数据查询、条件表达式、变量处理、条件分支以及循环结构...

    T-SQL递归函数打印杨辉三角

    总结来说,使用T-SQL递归函数实现杨辉三角的关键在于理解递归原理、掌握`WITH RECURSIVE`语句的用法,并能够灵活运用CASE语句来计算每一行的数值。通过这种方式,我们不仅能够学习到T-SQL的高级特性,还能深入理解...

    T-SQL.2008.入门

    3. **变量与流程控制**:掌握声明和使用变量的方法,学习IF...ELSE、WHILE、CASE等控制结构,以及BEGIN...END块的应用。 4. **函数**:了解内置函数(如聚合函数SUM、AVG等)和自定义函数的使用,以及如何利用函数...

    SQL.Server.2005.技术内幕.T-SQL程序设计.pdf

    1. **T-SQL基础语法**:书中首先介绍了T-SQL的基本结构和语法规则,包括数据类型、变量声明、常量、运算符、流程控制语句(如IF-ELSE、WHILE、CASE等)以及数据查询的基本方法。 2. **SELECT语句**:详述了如何使用...

    Microsoft SQL Server 2005技术内幕:T-SQL查询

    首先,书中会介绍T-SQL的基础知识,包括SELECT语句的结构和用法,用于获取数据的FROM、WHERE、GROUP BY和HAVING子句,以及ORDER BY和DISTINCT关键字。这些基本概念是所有复杂查询的基础,对理解数据检索至关重要。 ...

    inside.microsoft.sql.server.2005.t-sql.querying

    6. **T-SQL流程控制**:涵盖了IF...ELSE、CASE表达式、BEGIN...END块、WHILE循环以及TRY...CATCH异常处理结构,展示了如何在T-SQL中编写条件和循环逻辑。 7. **游标和事务管理**:讲解了如何使用游标遍历查询结果,...

    sybase T-SQL命令

    Sybase T-SQL(Transact-SQL)是Sybase Adaptive Server Enterprise (ASE)数据库管理系统中使用的编程语言,它是SQL标准的扩展,增加了许多特定于Sybase的功能。在深入探讨Sybase T-SQL命令之前,先要理解其基本概念...

    Microsoft SQL Server 2005技术内幕: T-SQ程序设计.pdf

    如基于集合的编程技术、日期和时间相关的XML和CLR数据类型的使用、临时对象、T-SQL和CLR用户自定义函数、存储过程、触发器、事务和新的错误处理结构、应用并发模型支持并发用户、使用Service Broker来控制数据库应用...

    SQL SERVER 2005技术内幕:T-SQL查询

    《SQL SERVER 2005技术内幕:T-SQL查询》是数据库开发人员不可或缺的一本指南,它深入探讨了SQL Server 2005中的Transact-SQL(T-SQL)查询技术。这本书以其详尽的解释和实用的示例,帮助读者掌握T-SQL查询的精髓,...

    [T-SQL.2008.入门].Beginning.T-SQL.2008.pdf

    《 Beginning T-SQL 2008》是针对SQL Server数据库管理系统中Transact-SQL(T-SQL)语言的一本入门教程,由Kathi Kellenberger撰写,属于专家之声SQL Server系列。这本书旨在帮助读者逐步掌握T-SQL,从而更好地利用...

    SQL Server T-SQL Recipes, 4th Edition

    - **流程控制**: 讨论`IF...ELSE`, `WHILE`, `CASE`等结构的使用方法,以实现更复杂的逻辑处理。 - **错误处理**: 探讨如何捕获和处理执行过程中的异常情况。 **3. Working with NULLS** - **NULL值处理**: 阐述...

    T-SQL.zip_结构

    本压缩包“T-SQL.zip_结构”显然是针对T-SQL编程的一个教学资源,旨在帮助学习者掌握其核心的结构和用法,特别是条件结构、循环结构以及CASE结构的运用,同时也涉及到了函数的使用。 首先,我们来看条件结构。在T-...

Global site tag (gtag.js) - Google Analytics