`
5211422
  • 浏览: 209080 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

MySQL 行变列 查询

阅读更多
SQL语言的CASE语句备忘
 
概述:
SQL语句中的CASE语句与高级语言中的switch语句,是标准SQL的语法,适用与一个条件判断有多种值的情况下分别执行不同的操作。灵活应用CASE语句可以使SQL语句变得简洁易读,下面在DB2环境下通过一个简单的查询来展示SQL CASE语句的强大功能。

 

表:T_ActivityConsume

 

award consumeTime partnerID markValue
1 2009-01-05 13:14:43 11 100
1 2009-01-05 13:14:43 11 100
3 2009-01-05 13:14:43 11 100
1 2009-01-06 13:14:43 11 100
1 2009-01-06 13:14:43 11 100
2 2009-01-17 13:14:43 11 100
2 2009-01-17 13:14:43 11 100
2 2009-01-17 13:14:43 11 100
1 2009-01-17 13:14:43 11 100

 

 


      select award ,

          COUNT(CASE when DATE(consumeTime)='2009-01-05' then award end) as '1月5日',

          count(CASE when DATE(consumeTime)='2009-01-06' then award end) as '1月6日',
          count(CASE when DATE(consumeTime)='2009-01-07' then award end) as '1月7日'
      from T_ActivityConsume where partnerID='11' group by award

 

 

执行后:

award partnerID 1月5日 1月6日 1月7日
1 11 2 2 1
2 11 0 0 3
3 11 1 0 0
4 11 0 0 0
5 11 0 0 0

 

 

case和swith类似。

4
0
分享到:
评论

相关推荐

    MySQL_C_API.rar_API_mysql_doc_mysql api_mysql c语言

    9. **类型转换**:在处理查询结果时,可能需要将MySQL数据类型转换为C语言的数据类型,如`mysql_fetch_lengths()`获取每列的长度,有助于正确地处理BLOB和VARBINARY等变长类型。 10. **性能优化**:使用`mysql_...

    MySQL 8.0 Release Notes

    3. **窗口函数**:新增的窗口函数支持,使得复杂的查询操作变得更加简单高效。 4. **多表删除**:支持同时从多个表中删除数据,简化了涉及多个表的删除操作。 5. **优化器改进**:查询优化器得到了进一步优化,...

    在ORACLE、MSSQL、MYSQL中树结构表递归查询的实现.pdf

    随着MYSQL版本的更新,尤其是MYSQL 8.0之后,开始支持公用表表达式(CTE)和WITH RECURSIVE语法,这使得在MYSQL中进行递归查询变得简单而直接。 在上述三种数据库系统中实现递归查询的示例代码通常如下: ORACLE中...

    mysql5.7和mysql8

    8. **更好的行格式**:引入了DYNAMIC行格式,提供更高效的数据存储,特别是对于包含变长字段的表。 9. **增强的加密**:MySQL 8.0支持TLS 1.3协议,提供了更强大的加密机制,确保数据传输的安全性。 总结: MySQL ...

    mysql问题,常见的mysql面试问题

    - 作用:确保列或列组合的值是唯一的。 - 特性:一个表可以有多个唯一约束,允许包含空值(`NULL`)。 - **区别**: - 主键是唯一约束的一种特殊情况,但同时具有不可为空的限制。 - 主键在创建时会自动建立索引,...

    MySQL 5.6 官方文档

    文档最后还列出了对 MySQL 发展做出贡献的人们,包括开发者、文档作者、翻译者和支持 MySQL 的工具及软件包等。这些信息体现了 MySQL 社区的开放性和协作精神。 通过以上分析可以看出,MySQL 5.6 官方文档不仅提供...

    mysql8.0 附带一键安装脚本

    10. **InnoDB 存储引擎升级**:包括自增列重置、更快的行锁定以及更好的空间索引支持。 ### 一键安装脚本的作用: 一键安装脚本通常包含以下步骤: 1. **环境检查**:检测系统是否满足MySQL 8.0的硬件和软件要求。...

    MYSQL 通过分区(Partition)提升MySQL性能

    例如,可以通过某一列值的范围来决定行数据属于哪个分区。 - **垂直分区(Vertical Partitioning)**:按照列来进行分区,不同的列可以存储在不同的表中。这种方式适用于某些列经常一起使用的情况。 在MySQL 5.1及...

    MySql_C 接口集合

    - **功能**:在查询结果集中定位至特定行。 - **使用场景**:处理大型结果集时,可精确控制读取位置。 #### 7. `mysql_debug()` - **功能**:用于调试,将给定字符串推送到调试队列。 - **使用场景**:开发阶段用于...

    The_MySQL_C_API_编程实例

    `MYSQL_ROW`实际上是一个指向字符数组的指针数组,每个元素对应一行数据中的一列。通过`lengths`数组,我们可以获取每列数据的实际长度,这对于处理变长数据类型(如VARCHAR)尤为重要。 在实际编程中,我们还需要...

    21 分钟 MySQL 入门教程

    - **关系型数据库**:在 MySQL 中,“关系型”意味着数据被组织成一个或多个表格的形式,这些表格由行和列构成,每张表代表了一种实体或对象,并且通过键来关联不同的表。 - **表头 (Header)**:表头即表格的列名,...

    MysqlHelper.zip

    ExecuteScalar返回查询结果的第一行第一列,常用于统计或获取单个值;FillDataSet则将查询结果填充到DataSet对象中,便于进行更复杂的处理。 在MysqlHelper.cs中,我们可以看到这些方法的实现。例如,...

    MySQL8.0.11.0版本

    1. **窗口函数**:MySQL 8.0 引入了窗口函数,这使得在SQL查询中进行行级计算变得更加容易。窗口函数允许你在数据集上执行聚合操作,如计算移动平均或排名,而无需分组或子查询。 2. **增强的JSON支持**:MySQL 8.0...

    mysql-installer-community-8.0.26.0.msi

    4. **行格式升级**:默认采用DYNAMIC行格式,提高了存储效率,支持更大的列数和更大的BLOB/TEXT值。 5. **增强的安全性**:提供了密码过期策略、强制加密连接、更好的权限管理以及改进的审计日志功能。 6. **改进...

    MySQL入门很简单

    MySQL是一种广泛使用的开源关系型数据库管理系统(RDBMS),它使用SQL(Structured Query Language)作为数据查询语言。MySQL因其性能高、稳定性强且易于使用等特点,在Web应用开发中被广泛采用。 ### 安装与配置...

    mysql性能优化总结

    - **定长与变长字段的分离**:将定长字段(如整型、日期时间类型)与变长字段(如VARCHAR、TEXT)分开存储,可以提升查询效率,因为定长字段处理更快。 - **常用与不常用字段分离**:将不经常使用的字段独立出来,...

    mysql查询练习.zip

    MySQL是一种广泛使用的开源关系型数据库管理系统(RDBMS),它基于结构化查询...结合实际操作,不断练习,将使你在MySQL查询方面变得更加熟练。记得实践是最好的老师,尝试解决不同的查询问题,会让你的技能不断提升。

    MySQL 索引最佳实践

    然而,B树索引不能处理某些特定的查询,比如查找所有键值末尾数字为零的行。 #### 字符串索引 字符串索引的排序顺序由字符集(collation)定义。例如,“AAAA”小于“AAAB”。在使用前缀LIKE(如`LIKE 'ABC%'`)时...

    MySql+MySql-Front

    MySQL-Front则是一款功能强大的MySQL数据库管理工具,它为用户提供了图形化的用户界面,使得数据库的管理和操作变得更加直观和便捷。MySQL-Front支持多种数据库操作,包括数据查询、编辑、导入导出、备份恢复以及...

    MySQL-JDBCjar包

    你可以通过`next()`方法移动到下一行,然后通过`getString()`, `getInt()`, 等方法获取列值。 5. **关闭资源**:在完成数据库操作后,记得关闭所有打开的资源,如`ResultSet`, `Statement` 和 `Connection`,以避免...

Global site tag (gtag.js) - Google Analytics