在项目开发中对数据分时统计的一个SQL
来源:互联网 发布:多啦衣梦 新式网络传销 编辑:程序博客网 时间:2024/04/28 10:05
/* Formatted on 2008/10/24 08:23 (Formatter Plus v4.8.8) */
SELECT t2.userid userid, COUNT (t2.rono) AS totalnum,
SUM (t2.pass_num7_9) a1pass, SUM (ng_num7_9) a1ng,
SUM (pass_num9_11) a2pass, SUM (ng_num9_11) a2ng,
SUM (pass_num11_14) a3pass, SUM (ng_num11_14) a3ng,
SUM (pass_num14_16) a4pass, SUM (ng_num14_16) a4ng,
SUM (pass_num16_17) a5pass, SUM (ng_num16_17) a5ng,
SUM (pass_num17_19) a6pass, SUM (ng_num17_19) a6ng,
SUM (pass_num19_22) a7pass, SUM (ng_num19_22) a7ng,
SUM (pass_num22_24) a8pass, SUM (ng_num22_24) a8ng,
SUM (pass_num0_3) a9pass, SUM (ng_num0_3) a9ng,
SUM (pass_num3_6) a10pass, SUM (ng_num3_6) a10ng,
SUM (pass_num6_7) a11pass, SUM (ng_num6_7) a11ng
FROM (SELECT userid, rono,
DECODE (SIGN (hours - 7),
1, 1,
0, 1,
-1, 0
)
* DECODE (SIGN (9 - hours), 1, 1, 0, 0, -1, 0)
* DECODE (RESULT, 'PASS', 1, 0) AS pass_num7_9,
DECODE (SIGN (hours - 7), 1, 1, 0, 1, -1, 0)
* DECODE (SIGN (9 - hours), 1, 1, 0, 0, -1, 0)
* DECODE (RESULT, 'NG', 1, 0) AS ng_num7_9,
DECODE (SIGN (hours - 9),
1, 1,
0, 1,
-1, 0
)
* DECODE (SIGN (11 - hours), 1, 1, 0, 0, -1, 0)
* DECODE (RESULT, 'PASS', 1, 0) AS pass_num9_11,
DECODE (SIGN (hours - 9), 1, 1, 0, 1, -1, 0)
* DECODE (SIGN (11 - hours), 1, 1, 0, 0, -1, 0)
* DECODE (RESULT, 'NG', 1, 0) AS ng_num9_11,
DECODE (SIGN (hours - 11),
1, 1,
0, 1,
-1, 0
)
* DECODE (SIGN (14 - hours), 1, 1, 0, 0, -1, 0)
* DECODE (RESULT, 'PASS', 1, 0) AS pass_num11_14,
DECODE (SIGN (hours - 11),
1, 1,
0, 1,
-1, 0
)
* DECODE (SIGN (14 - hours), 1, 1, 0, 0, -1, 0)
* DECODE (RESULT, 'NG', 1, 0) AS ng_num11_14,
DECODE (SIGN (hours - 14),
1, 1,
0, 1,
-1, 0
)
* DECODE (SIGN (16 - hours), 1, 1, 0, 0, -1, 0)
* DECODE (RESULT, 'PASS', 1, 0) AS pass_num14_16,
DECODE (SIGN (hours - 14),
1, 1,
0, 1,
-1, 0
)
* DECODE (SIGN (16 - hours), 1, 1, 0, 0, -1, 0)
* DECODE (RESULT, 'NG', 1, 0) AS ng_num14_16,
DECODE (SIGN (hours - 16),
1, 1,
0, 1,
-1, 0
)
* DECODE (SIGN (17 - hours), 1, 1, 0, 0, -1, 0)
* DECODE (RESULT, 'PASS', 1, 0) AS pass_num16_17,
DECODE (SIGN (hours - 16),
1, 1,
0, 1,
-1, 0
)
* DECODE (SIGN (17 - hours), 1, 1, 0, 0, -1, 0)
* DECODE (RESULT, 'NG', 1, 0) AS ng_num16_17,
DECODE (SIGN (hours - 17),
1, 1,
0, 1,
-1, 0
)
* DECODE (SIGN (19 - hours), 1, 1, 0, 0, -1, 0)
* DECODE (RESULT, 'PASS', 1, 0) AS pass_num17_19,
DECODE (SIGN (hours - 17),
1, 1,
0, 1,
-1, 0
)
* DECODE (SIGN (19 - hours), 1, 1, 0, 0, -1, 0)
* DECODE (RESULT, 'NG', 1, 0) AS ng_num17_19,
DECODE (SIGN (hours - 19),
1, 1,
0, 1,
-1, 0
)
* DECODE (SIGN (22 - hours), 1, 1, 0, 0, -1, 0)
* DECODE (RESULT, 'PASS', 1, 0) AS pass_num19_22,
DECODE (SIGN (hours - 19),
1, 1,
0, 1,
-1, 0
)
* DECODE (SIGN (22 - hours), 1, 1, 0, 0, -1, 0)
* DECODE (RESULT, 'NG', 1, 0) AS ng_num19_22,
DECODE (SIGN (hours - 22),
1, 1,
0, 1,
-1, 0
)
* DECODE (SIGN (24 - hours), 1, 1, 0, 0, -1, 0)
* DECODE (RESULT, 'PASS', 1, 0) AS pass_num22_24,
DECODE (SIGN (hours - 22),
1, 1,
0, 1,
-1, 0
)
* DECODE (SIGN (24 - hours), 1, 1, 0, 0, -1, 0)
* DECODE (RESULT, 'NG', 1, 0) AS ng_num22_24,
DECODE (SIGN (hours - 0),
1, 1,
0, 1,
-1, 0
)
* DECODE (SIGN (3 - hours), 1, 1, 0, 0, -1, 0)
* DECODE (RESULT, 'PASS', 1, 0) AS pass_num0_3,
DECODE (SIGN (hours - 0), 1, 1, 0, 1, -1, 0)
* DECODE (SIGN (3 - hours), 1, 1, 0, 0, -1, 0)
* DECODE (RESULT, 'NG', 1, 0) AS ng_num0_3,
DECODE (SIGN (hours - 3),
1, 1,
0, 1,
-1, 0
)
* DECODE (SIGN (6 - hours), 1, 1, 0, 0, -1, 0)
* DECODE (RESULT, 'PASS', 1, 0) AS pass_num3_6,
DECODE (SIGN (hours - 3), 1, 1, 0, 1, -1, 0)
* DECODE (SIGN (6 - hours), 1, 1, 0, 0, -1, 0)
* DECODE (RESULT, 'NG', 1, 0) AS ng_num3_6,
DECODE (SIGN (hours - 6),
1, 1,
0, 1,
-1, 0
)
* DECODE (SIGN (7 - hours), 1, 1, 0, 0, -1, 0)
* DECODE (RESULT, 'PASS', 1, 0) AS pass_num6_7,
DECODE (SIGN (hours - 6), 1, 1, 0, 1, -1, 0)
* DECODE (SIGN (7 - hours), 1, 1, 0, 0, -1, 0)
* DECODE (RESULT, 'NG', 1, 0) AS ng_num6_7
FROM (SELECT userid, rono, seqno, station, enddt, RESULT,
TO_NUMBER (TO_CHAR (enddt, 'HH24'), '99') AS hours
FROM ertbroflwd t1
WHERE station = :station
AND enddt >= bs_to_timestamp_tz (:startdt)
AND enddt <= bs_to_timestamp_tz (:enddt)
AND (RESULT = 'PASS' OR RESULT = 'NG')
AND seqno =
(SELECT MAX (seqno) seqno
FROM ertbroflwd t0
WHERE t1.rono = t0.rono
AND t1.station = t0.station
AND t0.enddt >= bs_to_timestamp_tz (:startdt)
AND t0.enddt <= bs_to_timestamp_tz (:enddt)
AND (RESULT = 'PASS' OR RESULT = 'NG')))) t2
GROUP BY t2.userid
ORDER BY t2.userid
- 在项目开发中对数据分时统计的一个SQL
- SQL分时段统计
- 在EXCEL中实现对数据的过滤统计
- 【ORACLE】一个简单实用的对数据进行行列转换并统计的SQL语句
- Sql Server 中利用游标对table 的数据进行分组统计式输出…
- 在复杂的项目开发中使用结对编程
- sql server统计一个字符在列中出现的次数
- ArcGIS Engine 中对栅格数据的波段信息统计
- 统计 数据中 重复值的次数( 另外,可再对其进行排序,重复次数多的在前边
- 用sql语句统计生成(统计项目,值)对
- 一个FLASH开发的数据统计工具 PHP可以使用
- 对DB操作的一点认识------所有数据计算在SQL中进行
- 在SqlServer中 统计用户表中数据的行数
- 在SqlServer中 统计用户表中数据的行数
- SQL统计报表中1-12月的数据
- 最近在开发的一个项目FlashIM
- SQL Server一个表中的数据在另一个表中不存在的数据,两个表中相同数据
- 一个统计的sql语句
- 2008.10.23 大风降温
- nmea pdf
- aaaaaaaaaaaaaaaaaaaaaaaaa
- 恭喜您获得“百度有啊”的邀请访问权限
- java面试题
- 在项目开发中对数据分时统计的一个SQL
- 实用的东东
- 汉化小组是忽悠玩家吗?
- firefox与ie的javascript兼容性编程汇编
- Java Socket 错误解决
- C#调用VC dll提供的接口
- 关于css的选择器
- 一个linux 混音播放的 /etc/asound.conf 配置。
- (4)Silverlight开发工具Microsoft Expression Blend 2 之“Combine切割组合效果”