请问--字符型的字段,可否实现以下复杂的排序、统计? select 运动员ID,count(*) from table where 成绩='21' and 比赛名称=‘女子乒乓球决赛’group by 运动员ID 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select * from table_name where 比赛名称 = '男子短跑100M决赛' order by 国家ID SELECT * FROM 运动会比赛成绩表 ORDER BY (CASE 比赛名称 WHEN '男子短跑100M决赛' THEN 1 WHEN '女子乒乓球决赛' THEN 2) DESC没有试过 --分组排序.SELECT * FROM 运动会比赛成绩表 ORDER BY 比赛名称 ,CASE 比赛名称 WHEN '男子短跑100M决赛' THEN 成绩 else end ,CASE 比赛名称 WHEN '女子乒乓球决赛' THEN 成绩 else end --上面错了,改一下:SELECT * FROM 运动会比赛成绩表 ORDER BY 比赛名称 ,CASE 比赛名称 WHEN '男子短跑100M决赛' THEN 成绩 end ,CASE 比赛名称 WHEN '女子乒乓球决赛' THEN cast(成绩 as int) end --下面是例子--测试数据declare @运动会比赛成绩表 table(比赛名称 varchar(20),运动员ID varchar(3),国家ID varchar(3) ,成绩 varchar(10),回合数 int,成绩单位 varchar(10))insert into @运动会比赛成绩表select '男子短跑100M决赛','011','CHN','10''22''',1,'时间'union all select '男子短跑100M决赛','012','USA','11''01''',1,'时间'union all select '女子乒乓球决赛','013','JAP','5',1,'分'union all select '女子乒乓球决赛','013','JAP','10',2,'分'union all select '女子乒乓球决赛','013','JAP','11',3,'分'union all select '女子乒乓球决赛','014','CHN','21',1,'分'union all select '女子乒乓球决赛','014','CHN','21',2,'分'union all select '女子乒乓球决赛','014','CHN','21',3,'分'--查询SELECT * FROM @运动会比赛成绩表 ORDER BY 比赛名称 ,CASE 比赛名称 WHEN '男子短跑100M决赛' THEN 成绩 end ,CASE 比赛名称 WHEN '女子乒乓球决赛' THEN cast(成绩 as int) end/*--测试结果比赛名称 运动员ID 国家ID 成绩 回合数 成绩单位 -------------------- ----- ---- ---------- ----------- ---------- 男子短跑100M决赛 011 CHN 10'22' 1 时间男子短跑100M决赛 012 USA 11'01' 1 时间女子乒乓球决赛 013 JAP 5 1 分女子乒乓球决赛 013 JAP 10 2 分女子乒乓球决赛 013 JAP 11 3 分女子乒乓球决赛 014 CHN 21 1 分女子乒乓球决赛 014 CHN 21 2 分女子乒乓球决赛 014 CHN 21 3 分(所影响的行数为 8 行)--*/ 这个存储过程里面 如何插入临时表 我刚安装了win2000的系统!求救升级不了SP4? 一个非常简单的问题请教各位大牛—— =跟*=有什么不同? 数据库查询问题 SQL2000中有好多sql命令不能用呀。。sql2000的sql到底遵循什么标准 这个T-sql语句如何来写? 网上商店er图 如何查询重复记录 请各位大侠看看我的VFP程序,急等! 关于ms sql server中的timestamp字段的一个小问题 一个SQL语句错误!请高手指教怎么样实现这个SQL语句?一直在线!!
ORDER BY (CASE 比赛名称 WHEN '男子短跑100M决赛' THEN 1
WHEN '女子乒乓球决赛' THEN 2) DESC
没有试过
SELECT *
FROM 运动会比赛成绩表
ORDER BY 比赛名称
,CASE 比赛名称 WHEN '男子短跑100M决赛' THEN 成绩 else end
,CASE 比赛名称 WHEN '女子乒乓球决赛' THEN 成绩 else end
FROM 运动会比赛成绩表
ORDER BY 比赛名称
,CASE 比赛名称 WHEN '男子短跑100M决赛' THEN 成绩 end
,CASE 比赛名称 WHEN '女子乒乓球决赛' THEN cast(成绩 as int) end
declare @运动会比赛成绩表 table(比赛名称 varchar(20),运动员ID varchar(3),国家ID varchar(3)
,成绩 varchar(10),回合数 int,成绩单位 varchar(10))
insert into @运动会比赛成绩表
select '男子短跑100M决赛','011','CHN','10''22''',1,'时间'
union all select '男子短跑100M决赛','012','USA','11''01''',1,'时间'
union all select '女子乒乓球决赛','013','JAP','5',1,'分'
union all select '女子乒乓球决赛','013','JAP','10',2,'分'
union all select '女子乒乓球决赛','013','JAP','11',3,'分'
union all select '女子乒乓球决赛','014','CHN','21',1,'分'
union all select '女子乒乓球决赛','014','CHN','21',2,'分'
union all select '女子乒乓球决赛','014','CHN','21',3,'分'--查询
SELECT *
FROM @运动会比赛成绩表
ORDER BY 比赛名称
,CASE 比赛名称 WHEN '男子短跑100M决赛' THEN 成绩 end
,CASE 比赛名称 WHEN '女子乒乓球决赛' THEN cast(成绩 as int) end/*--测试结果比赛名称 运动员ID 国家ID 成绩 回合数 成绩单位
-------------------- ----- ---- ---------- ----------- ----------
男子短跑100M决赛 011 CHN 10'22' 1 时间
男子短跑100M决赛 012 USA 11'01' 1 时间
女子乒乓球决赛 013 JAP 5 1 分
女子乒乓球决赛 013 JAP 10 2 分
女子乒乓球决赛 013 JAP 11 3 分
女子乒乓球决赛 014 CHN 21 1 分
女子乒乓球决赛 014 CHN 21 2 分
女子乒乓球决赛 014 CHN 21 3 分(所影响的行数为 8 行)
--*/