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. python常用函数—enumerate()

    enumerate() 对于一个可迭代的(iterable)/可遍历的对象(如列表.字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值的元组. 使用拆包,可以单独获得索引和值 ...

  2. 3ds Max学习日记(三)

      今天把第三章搞完了,学的是样条线(splines)建模的一些操作.不过实习又有新任务了,得去研究一下如何将单张图片转化为三维模型(我擦,这神马操作),所以可能没有那么多时间愉快地与3ds max玩 ...

  3. python Django框架接入微信公众平台

    1.在接入微信公众平台之前,需要在微信公众平台配置好基本信息,如下: 这个时候点击“提交”按钮,会提示“Token校验失败”,不要着急,这是必然会出现的现象,先不要退出页面,保留各项输入的数据,按第二 ...

  4. printf以及各种变种

    int printf(char *format, [argument]); 其向终端(显示器.控制台等)输出字符 int fprintf(FILE*stream, const char*format, ...

  5. SQL SERVER技术内幕之5 表表达式

    表表达式是一种命名的查询表达式,代表一个有效的关系表.可以像其他表一样,在数据处理语句中使用表表达式.SQL Server支持4种类型的表表达式:派生表(derived table).公用表表达式(C ...

  6. matplotlib中什么是后端

    在很多网上文档和邮件列表中提到了"后端",并且很多初学者会对这个术语迷惑.matplotlib把不同使用情形和输出格式作为目标.一些人用matplotlib在python shel ...

  7. asp.net MVC4 @Html.DropDownList的使用

    在MVC4中使用Razor语法,一使用就爱上他了, 一般项目都是有一些增删改查功能,表单下拉框是经常使用的,除了用原始的<select>外,还可以用@Html.DropDownList和@ ...

  8. Tensorflow框架初尝试————搭建卷积神经网络做MNIST问题

    Tensorflow是一个非常好用的deep learning框架 学完了cs231n,大概就可以写一个CNN做一下MNIST了 tensorflow具体原理可以参见它的官方文档 然后CNN的原理可以 ...

  9. (转)linux sort,uniq,cut,wc命令详解

    linux sort,uniq,cut,wc命令详解 sort sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sort 命令将这些 ...

  10. [CF1037H] Security

    题目链接 codeforces. 洛谷. Solution 按照套路,可以\(SAM\)上线段树合并求出\(endpos\)集合,然后随便贪心一下就好了. #include<bits/stdc+ ...