1.

原表: 
courseid coursename score 
------------------------------------- 
1 java 70 
2 oracle 90 
3 xml 40 
4 jsp 30 
5 servlet 80 
------------------------------------- 
为了便于阅读, 查询此表后的结果显式如下( 及格分数为60): 
courseid coursename score mark 
--------------------------------------------------- 
1 java 70 pass 
2 oracle 90 pass 
3 xml 40 fail 
4 jsp 30 fail 
5 servlet 80 pass 
--------------------------------------------------- 
写出此查询语句

 USE T4st

 GO
IF(EXISTS(SELECT * FROM sysobjects WHERE name ='courseTes'))
DROP TABLE courseTes
GO CREATE TABLE courseTes
(
courseid INT NOT NULL PRIMARY KEY IDENTITY,
coursename NVARCHAR(50) NOT NULL,
score INT NOT NULL
) INSERT dbo.courseTes
( coursename, score )
VALUES ( N'java', -- coursename - nvarchar(50)
N'' -- score - int
)
INSERT dbo.courseTes
( coursename, score )
VALUES ( N'oracle', -- coursename - nvarchar(50)
N'' -- score - int
)
INSERT dbo.courseTes
( coursename, score )
VALUES ( N'xml', -- coursename - nvarchar(50)
N'' -- score - int
)
INSERT dbo.courseTes
( coursename, score )
VALUES ( N'jsp', -- coursename - nvarchar(50)
N'' -- score - int
)
INSERT dbo.courseTes
( coursename, score )
VALUES ( N'servlet', -- coursename - nvarchar(50)
N'' -- score - int
)
SELECT * FROM courseTes SELECT t.courseid,t.coursename,t.score,
(
CASE
WHEN t.score > 60 THEN 'pass'
ELSE 'fail'
END
)
AS mark
FROM courseTes AS t

运行结果如下:

2.

表内容:
2005-05-09 胜
2005-05-09 胜
2005-05-09 负
2005-05-09 负
2005-05-10 胜
2005-05-10 负
2005-05-10 负

如果要生成下列结果, 该如何写sql语句?

时间          胜    负
2005-05-09  2     2
2005-05-10  1     2

SQL语句

 USE T4st

 GO
IF(EXISTS(SELECT * FROM sysobjects WHERE name ='Score'))
DROP TABLE Score
GO CREATE TABLE Score
(
TimeId NVARCHAR(50) NOT NULL,
SuccessOrFail NVARCHAR(50) NOT NULL,
) INSERT Score
(TimeId,SuccessOrFail)
VALUES (
N'2005-05-09',
N'胜'
)
INSERT Score
(TimeId,SuccessOrFail)
VALUES (
N'2005-05-09',
N'胜'
)
INSERT Score
(TimeId,SuccessOrFail)
VALUES (
N'2005-05-09',
N'负'
)
INSERT Score
(TimeId,SuccessOrFail)
VALUES (
N'2005-05-09',
N'负'
)
INSERT Score
(TimeId,SuccessOrFail)
VALUES (
N'2005-05-10',
N'胜'
)
INSERT Score
(TimeId,SuccessOrFail)
VALUES (
N'2005-05-10',
N'负'
)
INSERT Score
(TimeId,SuccessOrFail)
VALUES (
N'2005-05-10',
N'负'
) SELECT * FROM Score SELECT s.TimeId AS '时间',
SUM(
CASE
WHEN s.SuccessOrFail ='胜' THEN 1
ELSE 0
END
) AS '胜',
SUM(
CASE
WHEN s.SuccessOrFail ='负' THEN 1
ELSE 0
END
) AS '负'
FROM Score AS s GROUP BY s.TimeId

运行结果如下:

sql service (case when then else end ..... group by)的更多相关文章

  1. 【SQL】CASE与DECODE

    1. case..when case..when语句用于按照条件返回查询结果,如当我们想把emp表的工资按照多少分成几个不同的级别,并分别统计各个级别的员工数.SQL语句如下: select (cas ...

  2. Sql Service 的job作业新建过程

    第一步:打开sql service 找到 SQL SERVER Agent 下的 jobs 如图: 注:如果没有找到,请查看你安装sql service 的版本   通过 select @@VERSI ...

  3. 数据库SQL Service 2014中文版的安装和配置教程

    一.我的电脑环境 1.windows8.1(64位) 2.之前电脑没有安装数据库的软件 二.装机之前准备(我这儿提供百度云保存和下载) 1.下载一个“Sql service 2014中文版” http ...

  4. MySql 数据库导入到 SQL Service

    1.下载安装ODBC驱动程序 地址:http://dev.mysql.com/downloads/connector/odbc/ 注意:系统的版本问题( 我的是64位的win7系统,但是SQL Ser ...

  5. BizTalk 开发系列(四十) BizTalk WCF-SQL Adapter读取SQL Service Broker消息

    SQL Service Broker 是在SQL Server 2005中新增的功能.Service Broker 为 SQL Server 提供队列和可靠的消息传递,可以可用来建立以异步消息为基础的 ...

  6. Sql Service存储过程分页

    一起是用oracle数据库..感觉oracle数据库强大.查询速度是杠杠的.换了家公司用的是SQL SERVICE.以前用了1年现在捡回以前的记忆.动手写了动态SQL过存储过程分页.感觉和oracle ...

  7. MySQL 数据 导入到 SQL Service

    1.下载安装ODBC驱动程序 地址:http://dev.mysql.com/downloads/connector/odbc/ 注意:系统的版本问题( 我的是64位的win7系统,但是SQL Ser ...

  8. 基于sql service会话共享,实现SSO

    1:session的存储基于sql service数据库来存储 2:修改sql service中会话管理的系统存储过程 3:实现几个站点的会话共享 4:应用共享会话,实现单点登录

  9. SQL SERVICE中的锁

    SQL SERVICE中的几个锁 SELECT * FROM dbo.TableName WITH (NOLOCK) --不加任何锁的读,脏读SELECT * FROM dbo.TableName W ...

随机推荐

  1. Wordcount -- MapReduce example -- Mapper

    Mapper maps input key/value pairs into intermediate key/value pairs. E.g. Input: (docID, doc) Output ...

  2. 怎么给kibana加上权限?

    更新:2016-05-20 09:36 通过向Elastic了解,他们目前开发的5.0版本支持更好的权限定制,粒度达到字段级别.他们预计今年就可以上线,如果你不是有一个旧版本的kibanba非要维护不 ...

  3. Java 单例模式探讨

    以下是我再次研究单例(Java 单例模式缺点)时在网上收集的资料,相信你们看完就对单例完全掌握了 Java单例模式应该是看起来以及用起来简单的一种设计模式,但是就实现方式以及原理来说,也并不浅显哦. ...

  4. rewrite or internal redirection cycle while processing nginx重定向报错

    2018/05/07 15:03:42 [error] 762#0: *3 rewrite or internal redirection cycle while processing "/ ...

  5. c#非界面线程控制控件

    private delegate void FlushCilent(); Invoke(new FlushCilent(databaseConnect));

  6. UVALive - 6856 Circle of digits 后缀数组+二分

    题目链接: http://acm.hust.edu.cn/vjudge/problem/82135 Circle of digits Time Limit: 3000MS 题意 把循环串分割成k块,让 ...

  7. 分页查询es时,返回的数据不是自己所期望的问题

    在进行es分页查询时,一般都是用sql语句转成es查询字符串,在项目中遇到过不少次返回的数据不是自己所期望的那样时,多半原因是自己的sql拼接的有问题. 解决办法:务必要保证自己的sql语句拼接正确.

  8. ACM 第九天

    动态规划1 动态规划问题是面试题中的热门话题,如果要求一个问题的最优解(通常是最大值或者最小值),而且该问题能够分解成若干个子问题,并且小问题之间也存在重叠的子问题,则考虑采用动态规划. 1.LLS ...

  9. HDU 2115 I Love This Game

    http://acm.hdu.edu.cn/showproblem.php?pid=2115 Problem Description Do you like playing basketball ? ...

  10. [剑指Offer] 61.序列化二叉树

    题目描述 请实现两个函数,分别用来序列化和反序列化二叉树 /* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *r ...