SQL脚本 CASE...WHEN...THEN...ELSE...END 的应用
2014-04-15 08:55
417 查看
--查找含有A 或 C 站点的车次 drop table SCHEDULETEST; create table SCHEDULETEST ( SID int not null, CHECI VARCHAR(8), CHEZHAN VARCHAR(8) );
insert into SCHEDULETEST (SID, CHECI, CHEZHAN) values (1, 'K1', 'A'); insert into SCHEDULETEST (SID, CHECI, CHEZHAN) values (2, 'K1', 'B'); insert into SCHEDULETEST (SID, CHECI, CHEZHAN) values (3, 'K1', 'C'); insert into SCHEDULETEST (SID, CHECI, CHEZHAN) values (1, 'K1', 'A'); insert into SCHEDULETEST (SID, CHECI, CHEZHAN) values (4, 'K2', 'A'); insert into SCHEDULETEST (SID, CHECI, CHEZHAN) values (5, 'K2', 'B'); insert into SCHEDULETEST (SID, CHECI, CHEZHAN) values (6, 'K2', 'C'); insert into SCHEDULETEST (SID, CHECI, CHEZHAN) values (7, 'K3', 'D'); insert into SCHEDULETEST (SID, CHECI, CHEZHAN) values (8, 'K4', 'D'); insert into SCHEDULETEST (SID, CHECI, CHEZHAN) values (9, 'K5', 'D'); insert into SCHEDULETEST (SID, CHECI, CHEZHAN) values (9, 'K5', 'C');
select * from scheduletest; SELECT CHECI as '经过A和C站点的车次' FROM SCHEDULETEST WHERE CHEZHAN IN('A','C') GROUP BY CHECI HAVING COUNT(distinct SID)>=2; SELECT CHECI FROM SCHEDULETEST A WHERE (CHEZHAN='A' OR CHEZHAN='C') GROUP BY CHECI HAVING COUNT(distinct SID)>=2; --取出每一车次停靠的站点数 select checi '车次',count( distinct chezhan) AS '停靠站点数量' from SCHEDULETEST group by checi; --取出每一车次停靠 A,C的站点次数 select checi AS 车次, SUM(case chezhan when 'A' THEN 1 ELSE 0 END) '停靠A站点的次数', SUM(case chezhan when 'C' THEN 1 ELSE 0 END) '停靠C站点的次数' FROM SCHEDULETEST GROUP BY CHECI;
[align=center]
[/align]
相关文章推荐
- SQL脚本 CASE......WHEN......THEN......ELSE......END 的应用
- SQL脚本 CASE...WHEN...THEN...ELSE...END 的应用
- sql 将横的记录显示为竖的记录 max(case when CASE ltrim(ps.SIZE) WHEN '4.5' THEN ps.PairPerCarton END is null then null else ps.PairPerCarton end ) AS [4.5]
- SQL利用Case When Then Else End 多条件判断
- SQL中的case when then else end用法
- SQL的case when then else end语句的用法
- sql case when then else end sql_variant
- [ORACLE] case when then else end 应用
- sql service (case when then else end ..... group by)
- SQL中的case when then else end用法
- SQL Server case when then else end 多条件
- sql学习之CASE WHEN THEN ELSE END的用法
- case when then...else end sql 语句用法
- SQL中的case when then else end详细用法
- [ORACLE] case when then else end 应用
- SQL的case when then else end语句的用法
- SQL条件控制(case when...then...else...end) 详细解释
- sql case when then else end
- sql中的case when then else end
- Sql语句-case when then else end