刚才说的分组问题不清楚,已整理好:
表名:检测项目
项目编号 版本号 检测项目
01 1 火灾自动报警系统
0101 1 消防控制室
010101 1 消防控制室位置1
010101 2 消防控制室位置2
010101 3 消防控制室位置3
010102 1 非直接通向室外的门
010102 3 非直接通向室外的门
010103 1 门的开启方向
010103 2 门的开启方向
010104 1 送、回风管防火隔断
010104 5 送、回风管防火隔断
010105 1 电气线路及管路设置
010106 1 抗干扰性
010107 1 标志
010108 1 "119 "直拨电话
......
上面的010101\010102\010103\010104有2到3个版本号,其余只有1个.
我想实现这样的结果:
例子1:
SELECT * FROM 检测项目 WHERE 版本号=2
结果:
项目编号 版本号 检测项目
01 1 火灾自动报警系统
0101 1 消防控制室
010101 2 消防控制室位置2
010102 1 非直接通向室外的门
010103 2 门的开启方向
010104 1 送、回风管防火隔断
010105 1 电气线路及管路设置
010106 1 抗干扰性
010107 1 标志
010108 1 "119 "直拨电话
.....
结果说明:
1--[项目编号]不重复
2--[版本号]=2
3--如没有[版本号]是2的,取小于2的那条记录,上例:010102
目的就是把等于[版本号]的取出,不等于[版本号]的只取仅小于的那条记录.
例子2:
SELECT * FROM 检测项目 WHERE 版本号=5
结果:
项目编号 版本号 检测项目
01 1 火灾自动报警系统
0101 1 消防控制室
010101 3 消防控制室位置3
010102 3 非直接通向室外的门
010103 2 门的开启方向
010104 5 送、回风管防火隔断
010105 1 电气线路及管路设置
010106 1 抗干扰性
010107 1 标志
010108 &nb