例1
实现如下功能
name data
a|b|c ...
a|b ...
a|c ...
d ...
统计后
a 1.3
b 0.83
c 0.83
d 1
也就是 按名字统计 每条记录 按人头平均 统计 a (1/3+1/2+1/2)=1.3
多谢
--示例
-- 删除测试
drop table tb
/*--结果
name total
---------- ------------
a 1.33
b .83
c .83
d 1.00
例2:
--示例数据
--删除测试
drop table tb
/*--结果
id name
----------- -------------
1 1
1 3
1 4
2 12
2 34
2 67
2 89
(所影响的行数为 7 行)
--*/
例3:循环截取法
假设table1表中有字段col1
col的一行存有如下数据1,2,3,4,5,6,7,8
col1中的数据用逗号分割
请问如何提取成如下形式的数据
1
2
3
4
5
6
7
8
--测试
declare @s varchar(100)
select @s='1,2,3,4,5,6,7,8'
select * from f_split(@s)
--结果
/*
num
-----------
1
2
3
4
5
6
7
8
(所影响的行数为 8 行)
*/
'上火温度' ,'中火温度' ,'下火温度'
通过select 语句如果把以上三个字符串作为一个字段值返回,结果如下:
温度
上火温度
中火温度
下火温度
/*
温度
--------------------
上火温度
中火温度
下火温度
(所影响的行数为 3 行)
*/
例4
Result
2
2,5
2,3
2,3,4
3,5
我想得到这样的结果:
Result Num
2 4
3 2
4 1
5 2
SQL语句该怎么写,在线等,立即结帖~
--通用的
--示例数据
--删除测试
drop table tb
/*--测试结果
例5: zjcxc书中的例子: