常用的一些复杂SQL语句

1.根据表中的birthday统计年龄段人数:

//以下代码表示查询出来后的结果集添加一列字段

cast(‘20以下‘ as char) as age
SELECT COUNT(*) as num,cast(‘20以下‘ as char) as age FROM (SELECT (DATE_FORMAT(NOW(),‘%Y‘)-DATE_FORMAT(birthday,‘%Y‘)) AS age FROM hm_applicant WHERE (DATE_FORMAT(NOW(),‘%Y‘)-DATE_FORMAT(birthday,‘%Y‘)) <= 20) AS A
UNION
SELECT COUNT(*) as num,cast(‘20-40‘ as char) as age FROM (SELECT (DATE_FORMAT(NOW(),‘%Y‘)-DATE_FORMAT(birthday,‘%Y‘)) AS age FROM hm_applicant WHERE (DATE_FORMAT(NOW(),‘%Y‘)-DATE_FORMAT(birthday,‘%Y‘)) > 20 AND (DATE_FORMAT(NOW(),‘%Y‘)-DATE_FORMAT(birthday,‘%Y‘)) <= 40) AS A
UNION
SELECT COUNT(*) as num,cast(‘40-60‘ as char) as age FROM (SELECT (DATE_FORMAT(NOW(),‘%Y‘)-DATE_FORMAT(birthday,‘%Y‘)) AS age FROM hm_applicant WHERE (DATE_FORMAT(NOW(),‘%Y‘)-DATE_FORMAT(birthday,‘%Y‘)) > 40 AND (DATE_FORMAT(NOW(),‘%Y‘)-DATE_FORMAT(birthday,‘%Y‘)) <= 60) AS A
UNION
SELECT COUNT(*) as num,cast(‘60-80‘ as char) as age FROM (SELECT (DATE_FORMAT(NOW(),‘%Y‘)-DATE_FORMAT(birthday,‘%Y‘)) AS age FROM hm_applicant WHERE (DATE_FORMAT(NOW(),‘%Y‘)-DATE_FORMAT(birthday,‘%Y‘)) > 60 AND (DATE_FORMAT(NOW(),‘%Y‘)-DATE_FORMAT(birthday,‘%Y‘)) <= 80) AS A
UNION
SELECT COUNT(*) as num,cast(‘80以上‘ as char) as age FROM (SELECT (DATE_FORMAT(NOW(),‘%Y‘)-DATE_FORMAT(birthday,‘%Y‘)) AS age FROM hm_applicant WHERE (DATE_FORMAT(NOW(),‘%Y‘)-DATE_FORMAT(birthday,‘%Y‘)) > 80) AS A

效果图如下图:

时间: 2024-10-22 04:40:29

常用的一些复杂SQL语句的相关文章

[原]常用sqlserver数据库使用sql语句

1.表结构文档生成查询语句: SELECT 架构名 = Case When A.colorder=1 Then s.[name] Else '' End, 表名 = Case When A.colorder=1 Then D.name Else '' End, 表说明 = Case When A.colorder=1 Then isnull(F.value,'') Else '' End, 字段序号 = A.colorder, 字段名 = A.name, 字段说明 = isnull(G.[val

[独孤九剑]Oracle知识点梳理(四)SQL语句之DML和DDL

本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracle知识点梳理(五)数据库常用对象之Table.View [独孤九剑]Oracle知识点梳理(六)数据库常用对象之Procedure.function.Sequence [独孤九剑]Oracle知识点梳理(七)数据库常用对象之Cursor [独孤九剑]Oracle知识点梳理(八)常见Exception

Informix 11.5 SQL 语句性能监控方法及实现

我们知道,在数据库应用系统中,SQL 语句的性能好坏至关重要.如果 SQL 语句性能很差,可能会导致整个数据库应用系统的性能也非常差.那么,如何监控数据库系统中 SQL 语句的性能,导致 SQL 语句性能差的原因是什么? SQL 语句运行过程中对系统资源的使用情况如何?系统资源存在哪些瓶颈?在 Informix 11.5 中,主要提供了两个工具来解决上述问题.一个是 set explain 命令,我们可以通过查看数据库的查询计划来分析导致 SQL 语句性能差的原因并给予相应的调整,另一个是 SQ

执行一条sql语句update多条不同值的记录实现思路

如果你想更新多行数据,并且每行记录的各字段值都是各不一样,你会怎么办呢?本文以一个示例向大家讲解下如何实现如标题所示的情况,有此需求的朋友可以了解下 通常情况下,我们会使用以下SQL语句来更新字段值: 复制代码 代码如下: UPDATE mytable SET myfield='value' WHERE other_field='other_value'; 但是,如果你想更新多行数据,并且每行记录的各字段值都是各不一样,你会怎么办呢?举个例子,我的博客有三个分类目录(免费资源.教程指南.橱窗展示

执行一条sql语句update多条记录实现思路

执行一条sql语句update多条记录实现思路 如果你想更新多行数据,并且每行记录的各字段值都是各不一样,你会怎么办呢?本文以一个示例向大家讲解下如何实现如标题所示的情况,有此需求的朋友可以了解下 通常情况下,我们会使用以下SQL语句来更新字段值: UPDATE mytable SET myfield='value' WHERE other_field='other_value'; 但是,如果你想更新多行数据,并且每行记录的各字段值都是各不一样,你会怎么办呢?举个例子,我的博客有三个分类目录(免

项目中常用的SQL语句

摘要: 对于像我一样的菜鸟级别人物来说,接触的项目比较少,平常做的那些练习,包括三层中,一般也只能用到增删改查,当然这些增删改查语句是学数据库语句的入门,在百度上搜索一大堆,w3cschool中帮助文档也可以查阅. 这里是把平常用的增删改做一个小小总结,对一些小小项目也是比较适用的 ,当然,好记性不如烂笔头吗,这个时代纸质版的笔记感觉很欠缺,因为想要看的时候,你得找到那本书,而且要翻翻在哪里,感觉很不方便.并且电子版 的随便copy之类的都可以. 常用的sql语句(增删改查) 1.增加.插入语句

50个常用的sql语句

50个常用的sql语句 Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 问题: 1.查询"001"课程比"002"课程成绩高的所有学生的学号: select a.S# from (select s#,score from SC where C#='001') a,(select s#,score from SC wher

常用的SQL语句

                                                                                                                      常用的SQL语句                     MySQL服务的配置和使用修改MySQL管理员的口令:mysqladmin –u root password 密码字符串             如:mysqldmin –u root password 1

数据库技能实战进阶之常用结构化sql语句(上)

常用的结构化查询语言主要分为数据定义语言(DDL).数据操作语言(DML).数据控制语言(DCL)和数据查询语言(DQL).特别在关系型的数据库例如(mysql.mariadb. percona.DB2.Oracle.SQL server)等都是采用共同的SQL语句来实现增删改查等数据的管理.本文会针对以下的四种类型的结构化SQL来进行介绍. DDL 数据定义语言  create     drop     alter DML 数据操作语言  insert    delete   update D