ITPUB论坛-中国最专业的IT技术社区

 
 注册
热搜:
查看: 2573|回复: 3

[每日一题] PL/SQL Challenge 每日一题:2018-1-8 首行记录

[复制链接]
论坛徽章:
487
秀才
日期:2015-09-09 10:33:01秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12状元
日期:2015-11-23 10:04:09举人
日期:2015-11-23 10:04:09秀才
日期:2016-01-06 14:10:21秀才
日期:2016-01-06 14:10:21秀才
日期:2016-01-06 14:10:21秀才
日期:2016-01-06 14:10:21秀才
日期:2016-01-06 14:10:21
跳转到指定楼层
1#
发表于 2018-1-11 04:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
(原发表于 2011-7-22)

最先答对且答案未经编辑的puber将获得纪念章一枚(答案不可编辑但可发新贴补充或纠正),其他会员如果提供有价值的分析、讨论也可获得纪念章一枚。

每两周的优胜者可获得itpub奖励的技术图书一本。

以往旧题索引:
/forum.php?m ... eid&typeid=1808

原始出处:


作者: mentzel.iudith

运行环境:SQLPLUS, SERVEROUTPUT已打开
注:本题给出答案时候要求给予简要说明才能得到奖品

在我们的HR应用中,我们有如下的员工表:

CREATE TABLE plch_employees
(
   employee_id  INTEGER PRIMARY KEY
, last_name    VARCHAR2(100)
, salary       NUMBER
)
/

BEGIN
   INSERT INTO plch_employees
     VALUES (100, 'Jobs', 1000);

   INSERT INTO plch_employees
     VALUES (200, 'Ellison', 1000);

   INSERT INTO plch_employees
     VALUES (300, 'Gates', 1000);

   COMMIT;
END;
/

我们还有一张日志表,每个员工的薪水变化都会被记录如下:

CREATE TABLE plch_emp_log
(
   employee_id  INTEGER  REFERENCES plch_employees (employee_id)
, log_date     DATE
, old_salary   NUMBER
, new_salary   NUMBER
, CONSTRAINT plch_emp_log_pk PRIMARY KEY (employee_id, log_date)
)
/

BEGIN
   INSERT INTO plch_emp_log  VALUES (100, TO_DATE('15-JAN-10','DD-MON-RR'), 1000, 2000);
   INSERT INTO plch_emp_log  VALUES (100, TO_DATE('18-JAN-10','DD-MON-RR'), 2000, 1800);
   INSERT INTO plch_emp_log  VALUES (200, TO_DATE('20-JAN-10','DD-MON-RR'), 1000, 1600);
   INSERT INTO plch_emp_log  VALUES (200, TO_DATE('20-MAR-10','DD-MON-RR'), 1600, 2500);

   INSERT INTO plch_emp_log  VALUES (300, TO_DATE('01-APR-10','DD-MON-RR'), 1000, 2000);
   INSERT INTO plch_emp_log  VALUES (100, TO_DATE('05-APR-10','DD-MON-RR'), 1800, 1900);
   INSERT INTO plch_emp_log  VALUES (200, TO_DATE('10-MAY-10','DD-MON-RR'), 2500, 2300);
   INSERT INTO plch_emp_log  VALUES (300, TO_DATE('15-MAY-10','DD-MON-RR'), 2000, 3000);

   INSERT INTO plch_emp_log  VALUES (100, TO_DATE('15-SEP-10','DD-MON-RR'), 1900, 1500);
   INSERT INTO plch_emp_log  VALUES (200, TO_DATE('20-SEP-10','DD-MON-RR'), 2300, 3000);
   INSERT INTO plch_emp_log  VALUES (300, TO_DATE('10-OCT-10','DD-MON-RR'), 3000, 2700);

   INSERT INTO plch_emp_log  VALUES (100, TO_DATE('05-JAN-11','DD-MON-RR'), 1500, 2500);
   INSERT INTO plch_emp_log  VALUES (200, TO_DATE('10-FEB-11','DD-MON-RR'), 3000, 2000);
   INSERT INTO plch_emp_log  VALUES (300, TO_DATE('20-FEB-11','DD-MON-RR'), 2700, 2500);

   INSERT INTO plch_emp_log  VALUES (100, TO_DATE('15-APR-11','DD-MON-RR'), 2500, 2200);
   INSERT INTO plch_emp_log  VALUES (200, TO_DATE('20-JUL-11','DD-MON-RR'), 2000, 2800);
   INSERT INTO plch_emp_log  VALUES (300, TO_DATE('15-SEP-11','DD-MON-RR'), 2500, 2900);

   COMMIT;
END;
/

我们决定要实现一个视图,使得对这个视图的简单查询(仅仅使用过滤条件,不用连接、聚合、子查询等等)可以回答如下的需求:

返回一个列表,列出在一个指定时间区间薪水发生改变的所有员工,显示出该区间的第一个和最后一个员工,这个“区间”可以是一年,一个季度,或者一个月。

下面是一些例子:

1. 指定年份,例如 2010

PERIOD   EMPLOYEE_ID  FIRST_SALARY  LAST_SALARY
-------  -----------  ------------  -----------
2010             100          1000         1500
2010             200          1000         3000
2010             300          1000         2700

2. 指定年份和季度,例如 2010-1

PERIOD   EMPLOYEE_ID  FIRST_SALARY  LAST_SALARY
-------  -----------  ------------  -----------
2010-1           100          1000         1800
2010-1           200          1000         2500

3. 指定年月,例如 2010-01

PERIOD   EMPLOYEE_ID  FIRST_SALARY  LAST_SALARY
-------  -----------  ------------  -----------
2010-01          100          1000         1800
2010-01          200          1000         1600

哪些选项可以用来有效地取代如下定义中的 /*FIRST_SALARY*/ 和 /*LAST_SALARY*/ ,使得这个视图可被用来回答上述需求?

CREATE OR REPLACE VIEW plch_emp_salary_change
AS
SELECT
       TO_CHAR(log_date,'YYYY')  year,
       TO_CHAR(log_date,'Q')     quarter,
       TO_CHAR(log_date,'MM')    month,
       employee_id,
       /*FIRST_SALARY*/    first_salary,
       /*LAST_SALARY*/     last_salary,
       GROUPING_ID(TO_CHAR(log_date,'YYYY'),
                   TO_CHAR(log_date,'Q'),
                   TO_CHAR(log_date,'MM'))   gid
FROM
      plch_emp_log
GROUP BY
      ROLLUP(TO_CHAR(log_date,'YYYY'),
             TO_CHAR(log_date,'Q'),
             TO_CHAR(log_date,'MM')),
      employee_id
/



(A)
MIN(old_salary)
MAX(new_salary)

(B)
FIRST_VALUE(old_salary)
LAST_VALUE(new_salary)


(C)
MIN(old_salary) KEEP(DENSE_RANK FIRST ORDER BY log_date)
MIN(new_salary) KEEP(DENSE_RANK LAST  ORDER BY log_date)

(D)
FIRST_VALUE(old_salary)   OVER(PARTITION BY employee_id
                               ORDER BY log_date)     
LAST_VALUE(new_salary)    OVER(PARTITION BY employee_id
                               ORDER BY log_date)

(E)
MIN(old_salary)    OVER(PARTITION BY employee_id
                        ORDER BY log_date)
MAX(new_salary)    OVER(PARTITION BY employee_id
                        ORDER BY log_date)

(F)
TO_NUMBER(SUBSTR(MIN(TO_CHAR(log_date,'YYYYMMDDHH24MISS')||old_salary),15))
TO_NUMBER(SUBSTR(MAX(TO_CHAR(log_date,'YYYYMMDDHH24MISS')||new_salary),15))
                        
认证徽章
论坛徽章:
6
林肯
日期:2013-07-30 18:00:55优秀写手
日期:2014-10-23 06:00:14马上有对象
日期:2015-01-16 13:26:19懒羊羊
日期:2015-03-04 14:52:112015年新春福章
日期:2015-03-06 11:58:18秀才
日期:2015-12-14 15:09:38
2#
发表于 2018-1-11 10:22 | 只看该作者
目测是CD,测试结果是CF,D报了个错误,F这么写法第一次见。其他的都在取最大最小值,比如A和E,B就没有这写法吧。

使用道具 举报

回复
论坛徽章:
487
秀才
日期:2015-09-09 10:33:01秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12状元
日期:2015-11-23 10:04:09举人
日期:2015-11-23 10:04:09秀才
日期:2016-01-06 14:10:21秀才
日期:2016-01-06 14:10:21秀才
日期:2016-01-06 14:10:21秀才
日期:2016-01-06 14:10:21秀才
日期:2016-01-06 14:10:21
3#
 楼主| 发表于 2018-1-12 05:57 | 只看该作者
答案CF, 2楼得奖。

A: 本选项正确地使用了聚合函数,但是MIN(old_salary) 和 MAX(new_salary)代表着每个薪水变更区间的最低和最高薪水,这些在时间上并不一定是该区间的第一和最后一条记录。
B: FIRST_VALUE 和 LAST_VALUE 并不是聚合函数,而是分析函数,它返回的是一个指定数据窗口的第一个和最后一个表达式的值。这个选项会报错:
ORA-30484: missing window specification for this function
C: 这是对的。FIRST 和 LAST可以被用作聚合函数,它们返回的是指定排序的第一个和最后一个表达式的值。此处的MIN函数仅仅是为了“打破平局”,处理的是被聚合的行分组中,有几个行在"order by"的列排序的顶部/底部包含了相同的值。在我们这个特例中这并不会发生,因为 (employee_id, log_date)组成了日志表的主键,所以给定一个employee_id, 则log_date值全是唯一的,排序没有平局。因此我们可以使用MIN或者MAX或者同样正确的其他函数来打破平局。

对于支持FIRST/LAST的ORACLE版本(9i或者更高)这是推荐做法,也是性能最佳的方案。
D: 这是分析函数FIRST_VALUE 和 LAST_VALUE的正确的使用语法,因为它指定了一个所要求的窗口。然而,在一个聚合查询的上下文中,这是行不通的,因为涉及到的列: old_salary, new_salary, log_date 并不属于查询的聚合级别,会导致下列错误:
ORA-00979: not a GROUP BY expression

E: MIN 和 MAX 函数是聚合函数,然而,上述语法中它们被用于分析函数。这是行不通的,因为涉及到的列:old_salary, new_salary, log_date 并不属于查询的聚合级别,会导致下列错误:
ORA-00979: not a GROUP BY expression

F: 这可能就是所谓的“暴力解法”。将log_date格式化为“可排序”的固定长度的字符串,并且将薪水拼接于它,然后应用一个简单的MIN/MAX聚合函数,确实产生了两个聚合值,它们包含了时间上的第一个和最后一个薪水值,这是可以从聚合表达式中抽取出来的。在分析函数特别是FIRST/LAST函数被引入之前,这个方法实际上是最有效的。

使用道具 举报

回复
论坛徽章:
396
兰博基尼
日期:2013-12-15 15:36:432014年世界杯参赛球队: 洪都拉斯
日期:2014-06-25 08:25:55itpub13周年纪念徽章
日期:2014-09-28 10:55:55itpub13周年纪念徽章
日期:2014-10-01 15:27:22itpub13周年纪念徽章
日期:2014-10-09 12:04:18马上有钱
日期:2014-10-14 21:37:37马上有钱
日期:2015-01-22 00:39:13喜羊羊
日期:2015-02-20 22:26:07懒羊羊
日期:2015-02-21 22:03:31懒羊羊
日期:2015-03-04 14:52:11
4#
发表于 2018-1-13 20:23 | 只看该作者
这个题目去掉选项可以用作应用题

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档 |
  | | |
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 网站律师 隐私政策 知识产权声明
 北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表
  • http://www.qqtmb.com/5580/64417.html
  • http://www.qqtmb.com/5580/2673.html
  • http://www.qqtmb.com/5580/345276.html
  • http://www.qqtmb.com/5580/56772.html
  • http://www.qqtmb.com/5580/3625.html
  • http://www.qqtmb.com/5580/234573.html
  • http://www.qqtmb.com/5580/37256.html
  • http://www.qqtmb.com/5580/554273.html
  • http://www.qqtmb.com/5580/454773.html
  • http://www.qqtmb.com/5580/244767.html
  • http://www.qqtmb.com/KU110/36326.html
  • http://www.qqtmb.com/KU110/17143.html
  • http://www.qqtmb.com/KU110/445171.html
  • http://www.qqtmb.com/KU110/3172.html
  • http://www.qqtmb.com/KU110/374615.html
  • http://www.qqtmb.com/KU10/2361.html
  • http://www.qqtmb.com/KU10/357743.html
  • http://www.qqtmb.com/KU10/555252.html
  • http://www.qqtmb.com/KU10/71211.html
  • http://www.qqtmb.com/KU10/437244.html
  • http://www.qqtmb.com/dG10/735.html
  • http://www.qqtmb.com/dG10/547654.html
  • http://www.qqtmb.com/dG10/563165.html
  • http://www.qqtmb.com/dG10/56636.html
  • http://www.qqtmb.com/dG10/734677.html
  • http://www.qqtmb.com/G20/51572.html
  • http://www.qqtmb.com/G20/4135.html
  • http://www.qqtmb.com/G20/45212.html
  • http://www.qqtmb.com/G20/62632.html
  • http://www.qqtmb.com/G20/22636.html
  • http://www.qqtmb.com/G21/556576.html
  • http://www.qqtmb.com/G21/7136.html
  • http://www.qqtmb.com/G21/44261.html
  • http://www.qqtmb.com/G21/26261.html
  • http://www.qqtmb.com/G21/665735.html
  • http://www.qqtmb.com/GH22/72632.html
  • http://www.qqtmb.com/GH22/317221.html
  • http://www.qqtmb.com/GH22/7733.html
  • http://www.qqtmb.com/GH22/613157.html
  • http://www.qqtmb.com/GH22/3647.html
  • http://www.qqtmb.com/GH32/521664.html
  • http://www.qqtmb.com/GH32/44157.html
  • http://www.qqtmb.com/GH32/23611.html
  • http://www.qqtmb.com/GH32/26577.html
  • http://www.qqtmb.com/GH32/562.html
  • http://www.qqtmb.com/GH32/47225.html
  • http://www.qqtmb.com/GH32/125556.html
  • http://www.qqtmb.com/GH32/31475.html
  • http://www.qqtmb.com/GH32/527544.html
  • http://www.qqtmb.com/GH32/53712.html
  • http://www.qqtmb.com/fH32/55436.html
  • http://www.qqtmb.com/fH32/575457.html
  • http://www.qqtmb.com/fH32/2355.html
  • http://www.qqtmb.com/fH32/5237.html
  • http://www.qqtmb.com/fH32/747422.html
  • http://www.qqtmb.com/fH32/37654.html
  • http://www.qqtmb.com/fH32/465525.html
  • http://www.qqtmb.com/fH32/732255.html
  • http://www.qqtmb.com/fH32/21566.html
  • http://www.qqtmb.com/fH32/11312.html
  • http://www.qqtmb.com/fH32/6353.html
  • http://www.qqtmb.com/fH32/74173.html
  • http://www.qqtmb.com/PL200/67341.html
  • http://www.qqtmb.com/PL200/145454.html
  • http://www.qqtmb.com/PL200/474715.html
  • http://www.qqtmb.com/PL200/6316.html
  • http://www.qqtmb.com/PL200/24351.html
  • http://www.qqtmb.com/PL200/1352.html
  • http://www.qqtmb.com/PL200/67341.html
  • http://www.qqtmb.com/PL200/145454.html
  • http://www.qqtmb.com/PL200/474715.html
  • http://www.qqtmb.com/PL200/6316.html
  • http://www.qqtmb.com/PL200/24351.html
  • http://www.qqtmb.com/PL200/1352.html
  • http://www.qqtmb.com/PLeff/273367.html
  • http://www.qqtmb.com/PLeff/57316.html
  • http://www.qqtmb.com/PLeff/6325.html
  • http://www.qqtmb.com/PLeff/41626.html
  • http://www.qqtmb.com/PLeff/514325.html
  • http://www.qqtmb.com/PLeff/34513.html
  • http://www.qqtmb.com/m1905/227.html
  • http://www.qqtmb.com/m1905/64265.html
  • http://www.qqtmb.com/m1905/63541.html
  • http://www.qqtmb.com/m1905/116717.html
  • http://www.qqtmb.com/m1905/31334.html
  • http://www.qqtmb.com/m1905/77477.html
  • http://www.qqtmb.com/m1905/62236.html
  • http://www.qqtmb.com/m1905/33524.html
  • http://www.qqtmb.com/m1905/47223.html
  • http://www.qqtmb.com/m1905/512757.html
  • http://www.qqtmb.com/m1905/633625.html
  • http://www.qqtmb.com/m1905/547652.html
  • http://www.qqtmb.com/m1905/273417.html
  • http://www.qqtmb.com/m1905/45424.html
  • http://www.qqtmb.com/m1905/7643.html
  • http://www.qqtmb.com/m1905/74135.html
  • http://www.qqtmb.com/m1905/262453.html
  • http://www.qqtmb.com/m1905/325626.html
  • http://www.qqtmb.com/m1905/141547.html
  • http://www.qqtmb.com/m1905/256133.html
  • http://www.qqtmb.com/m1905/36712.html
  • http://www.qqtmb.com/m1905/471163.html
  • http://www.qqtmb.com/m1905/252526.html
  • http://www.qqtmb.com/m1905/145111.html
  • http://www.qqtmb.com/m1905/115777.html
  • http://www.qqtmb.com/m1905/32651.html
  • http://www.qqtmb.com/m1905/555473.html
  • http://www.qqtmb.com/m1905/14461.html
  • http://www.qqtmb.com/m1905/552.html
  • http://www.qqtmb.com/m1905/761253.html
  • http://www.qqtmb.com/mm105/65336.html
  • http://www.qqtmb.com/mm105/466135.html
  • http://www.qqtmb.com/mm105/424351.html
  • http://www.qqtmb.com/mm105/147235.html
  • http://www.qqtmb.com/mm105/467436.html
  • http://www.qqtmb.com/mm105/164153.html
  • http://www.qqtmb.com/mm105/472151.html
  • http://www.qqtmb.com/mm105/11444.html
  • http://www.qqtmb.com/mm105/424625.html
  • http://www.qqtmb.com/mm105/253632.html
  • http://www.qqtmb.com/mm105/662713.html
  • http://www.qqtmb.com/mm105/217247.html
  • http://www.qqtmb.com/mm105/737532.html
  • http://www.qqtmb.com/mm105/1625.html
  • http://www.qqtmb.com/mm105/2545.html
  • http://www.qqtmb.com/mm105/2671.html
  • http://www.qqtmb.com/mm105/1411.html
  • http://www.qqtmb.com/mm105/114763.html
  • http://www.qqtmb.com/mm105/331212.html
  • http://www.qqtmb.com/mm105/557771.html
  • http://www.qqtmb.com/jb123/76236.html
  • http://www.qqtmb.com/jb123/357762.html
  • http://www.qqtmb.com/jb123/466572.html
  • http://www.qqtmb.com/jb123/733627.html
  • http://www.qqtmb.com/jb123/1263.html
  • http://www.qqtmb.com/jb123/135567.html
  • http://www.qqtmb.com/jb123/32355.html
  • http://www.qqtmb.com/jb123/746252.html
  • http://www.qqtmb.com/jb123/72661.html
  • http://www.qqtmb.com/jb123/216724.html
  • http://www.qqtmb.com/jb123/511452.html
  • http://www.qqtmb.com/jb123/1576.html
  • http://www.qqtmb.com/jb123/54314.html
  • http://www.qqtmb.com/jb123/143657.html
  • http://www.qqtmb.com/jb123/677414.html
  • http://www.qqtmb.com/jb123/2727.html
  • http://www.qqtmb.com/jb123/4471.html
  • http://www.qqtmb.com/jb123/43142.html
  • http://www.qqtmb.com/jb123/16.html
  • http://www.qqtmb.com/jb123/521.html
  • http://www.qqtmb.com/qqzy/15563.html
  • http://www.qqtmb.com/qqzy/535641.html
  • http://www.qqtmb.com/qqzy/131425.html
  • http://www.qqtmb.com/qqzy/242633.html
  • http://www.qqtmb.com/qqzy/135214.html
  • http://www.qqtmb.com/qqzy/41513.html
  • http://www.qqtmb.com/qqzy/625536.html
  • http://www.qqtmb.com/qqzy/577442.html
  • http://www.qqtmb.com/qqzy/36615.html
  • http://www.qqtmb.com/qqzy/26563.html
  • http://www.qqtmb.com/qqzy/15563.html
  • http://www.qqtmb.com/qqzy/535641.html
  • http://www.qqtmb.com/qqzy/131425.html
  • http://www.qqtmb.com/qqzy/242633.html
  • http://www.qqtmb.com/qqzy/135214.html
  • http://www.qqtmb.com/qqzy/41513.html
  • http://www.qqtmb.com/qqzy/625536.html
  • http://www.qqtmb.com/qqzy/577442.html
  • http://www.qqtmb.com/qqzy/36615.html
  • http://www.qqtmb.com/qqzy/26563.html
  • http://www.qqtmb.com/qq123/162652.html
  • http://www.qqtmb.com/qq123/272142.html
  • http://www.qqtmb.com/qq123/71157.html
  • http://www.qqtmb.com/qq123/176637.html
  • http://www.qqtmb.com/qq123/214247.html
  • http://www.qqtmb.com/qq123/67372.html
  • http://www.qqtmb.com/qq123/7375.html
  • http://www.qqtmb.com/qq123/375.html
  • http://www.qqtmb.com/qq123/734514.html
  • http://www.qqtmb.com/qq123/77312.html
  • http://www.qqtmb.com/qq123/226661.html
  • http://www.qqtmb.com/qq123/475214.html
  • http://www.qqtmb.com/qq123/16664.html
  • http://www.qqtmb.com/qq123/127162.html
  • http://www.qqtmb.com/qq123/234763.html
  • http://www.qqtmb.com/qq123/172342.html
  • http://www.qqtmb.com/qq123/71652.html
  • http://www.qqtmb.com/qq123/436.html
  • http://www.qqtmb.com/qq123/335662.html
  • http://www.qqtmb.com/qq123/436216.html
  • http://www.qqtmb.com/qq123/755247.html
  • http://www.qqtmb.com/qq123/53116.html
  • http://www.qqtmb.com/qq123/77513.html
  • http://www.qqtmb.com/qq123/137.html
  • http://www.qqtmb.com/qq123/433673.html
  • http://www.qqtmb.com/qq123/316552.html
  • http://www.qqtmb.com/qq123/43633.html
  • http://www.qqtmb.com/qq123/346336.html
  • http://www.qqtmb.com/qq123/661211.html
  • http://www.qqtmb.com/qq123/724526.html
  • http://www.qqtmb.com/qq123/316617.html
  • http://www.qqtmb.com/qq123/6475.html
  • http://www.qqtmb.com/qq123/243217.html
  • http://www.qqtmb.com/qq123/4255.html
  • http://www.qqtmb.com/qq123/175355.html
  • http://www.qqtmb.com/qq123/436735.html
  • http://www.qqtmb.com/qq123/725367.html
  • http://www.qqtmb.com/qq123/54155.html
  • http://www.qqtmb.com/qq123/622227.html
  • http://www.qqtmb.com/qq123/3714.html
  • http://www.qqtmb.com/qq123/547364.html
  • http://www.qqtmb.com/qq123/155245.html
  • http://www.qqtmb.com/qq123/75232.html
  • http://www.qqtmb.com/qq123/74621.html
  • http://www.qqtmb.com/qq123/742631.html
  • http://www.qqtmb.com/qq123/6513.html
  • http://www.qqtmb.com/qq123/11762.html
  • http://www.qqtmb.com/qq123/534217.html
  • http://www.qqtmb.com/qq123/355753.html
  • http://www.qqtmb.com/qq123/215532.html
  • http://www.qqtmb.com/qq123/7261.html
  • http://www.qqtmb.com/qq123/56621.html
  • http://www.qqtmb.com/qq123/225475.html
  • http://www.qqtmb.com/qq123/413534.html
  • http://www.qqtmb.com/qq123/73437.html
  • http://www.qqtmb.com/qq123/147374.html
  • http://www.qqtmb.com/qq123/556416.html
  • http://www.qqtmb.com/qq123/211431.html
  • http://www.qqtmb.com/qq123/41366.html
  • http://www.qqtmb.com/qq123/472376.html
  • http://www.qqtmb.com/qq123/5652.html
  • http://www.qqtmb.com/qq123/3161.html
  • http://www.qqtmb.com/qq123/6314.html
  • http://www.qqtmb.com/qq123/74427.html
  • http://www.qqtmb.com/qq123/6256.html
  • http://www.qqtmb.com/qq123/541524.html
  • http://www.qqtmb.com/qq123/414756.html
  • http://www.qqtmb.com/qq123/77221.html
  • http://www.qqtmb.com/qq123/25516.html
  • http://www.qqtmb.com/qq123/264367.html
  • http://www.qqtmb.com/qq123/15172.html
  • http://www.qqtmb.com/qq123/242224.html
  • http://www.qqtmb.com/qq123/372773.html
  • http://www.qqtmb.com/qq123/511613.html
  • http://www.qqtmb.com/qq123/757635.html
  • http://www.qqtmb.com/qq123/437667.html
  • http://www.qqtmb.com/qq123/35754.html
  • http://www.qqtmb.com/qq123/4.html
  • http://www.qqtmb.com/qq123/727775.html
  • http://www.qqtmb.com/qq123/736631.html
  • http://www.qqtmb.com/qq123/452375.html
  • http://www.qqtmb.com/qq123/11.html
  • http://www.qqtmb.com/qq123/4251.html
  • http://www.qqtmb.com/qq123/5525.html
  • http://www.qqtmb.com/qq123/72234.html
  • http://www.qqtmb.com/qq123/44674.html
  • http://www.qqtmb.com/qq123/151646.html
  • http://www.qqtmb.com/qq123/763643.html
  • http://www.qqtmb.com/qq123/124715.html
  • http://www.qqtmb.com/qq123/1441.html
  • http://www.qqtmb.com/yqwz/631531.html
  • http://www.qqtmb.com/yqwz/3146.html
  • http://www.qqtmb.com/yqwz/66722.html
  • http://www.qqtmb.com/yqwz/6462.html
  • http://www.qqtmb.com/yqwz/25757.html
  • http://www.qqtmb.com/yqwz/773665.html
  • http://www.qqtmb.com/yqwz/631531.html
  • http://www.qqtmb.com/yqwz/3146.html
  • http://www.qqtmb.com/yqwz/66722.html
  • http://www.qqtmb.com/yqwz/6462.html
  • http://www.qqtmb.com/yqwz/25757.html
  • http://www.qqtmb.com/yqwz/773665.html
  • http://www.qqtmb.com/HO15p/325731.html
  • http://www.qqtmb.com/HO15p/6741.html
  • http://www.qqtmb.com/HO15p/1133.html
  • http://www.qqtmb.com/HO15p/72273.html
  • http://www.qqtmb.com/HO15p/334636.html
  • http://www.qqtmb.com/HO15p/31217.html
  • http://www.qqtmb.com/HO112/731225.html
  • http://www.qqtmb.com/HO112/161555.html
  • http://www.qqtmb.com/HO112/32743.html
  • http://www.qqtmb.com/HO112/35257.html
  • http://www.qqtmb.com/HO112/137155.html
  • http://www.qqtmb.com/HO112/163125.html
  • http://www.qqtmb.com/HO13/751521.html
  • http://www.qqtmb.com/HO13/633.html
  • http://www.qqtmb.com/HO13/534221.html
  • http://www.qqtmb.com/HO13/75627.html
  • http://www.qqtmb.com/HO13/6525.html
  • http://www.qqtmb.com/HO13/166434.html
  • http://www.qqtmb.com/HO13/71734.html
  • http://www.qqtmb.com/HO13/73314.html
  • http://www.qqtmb.com/HO13/263455.html
  • http://www.qqtmb.com/HO13/23351.html
  • http://www.qqtmb.com/GD560/7116.html
  • http://www.qqtmb.com/Jp09/345275.html
  • http://www.qqtmb.com/Jp09/443423.html
  • http://www.qqtmb.com/Jp09/726164.html
  • http://www.qqtmb.com/Jp09/553575.html
  • http://www.qqtmb.com/hd1168/55147.html
  • http://www.qqtmb.com/GD560/625727.html
  • http://www.qqtmb.com/hd1168/5511.html
  • http://www.qqtmb.com/hd1168/11345.html
  • http://www.qqtmb.com/Jp09/36641.html
  • http://www.qqtmb.com/hd1168/542137.html
  • http://www.qqtmb.com/GD560/7122.html
  • http://www.qqtmb.com/GD560/51116.html
  • http://www.qqtmb.com/Jp09/111332.html
  • http://www.qqtmb.com/hd1168/346663.html
  • http://www.qqtmb.com/28911/57546.html
  • http://www.qqtmb.com/28911/4434.html
  • http://www.qqtmb.com/48917/2427.html
  • http://www.qqtmb.com/58910/76465.html
  • http://www.qqtmb.com/28911/176525.html
  • http://www.qqtmb.com/38912/53637.html
  • http://www.qqtmb.com/28911/15771.html
  • http://www.qqtmb.com/48917/65416.html
  • http://www.qqtmb.com/38912/665337.html
  • http://www.qqtmb.com/28911/56675.html
  • http://www.qqtmb.com/48917/12622.html
  • http://www.qqtmb.com/58910/14325.html
  • http://www.qqtmb.com/48917/2431.html
  • http://www.qqtmb.com/28911/572646.html
  • http://www.qqtmb.com/58910/54514.html
  • http://www.qqtmb.com/38912/16322.html
  • http://www.qqtmb.com/58910/23636.html
  • http://www.qqtmb.com/38912/17141.html
  • http://www.qqtmb.com/58910/3457.html
  • http://www.qqtmb.com/28911/46265.html
  • http://www.qqtmb.com/58910/23263.html
  • http://www.qqtmb.com/38912/36412.html
  • http://www.qqtmb.com/28911/262.html
  • http://www.qqtmb.com/48917/7637.html
  • http://www.qqtmb.com/28911/241342.html
  • http://www.qqtmb.com/58910/624136.html
  • http://www.qqtmb.com/48917/1731.html
  • http://www.qqtmb.com/38912/453344.html
  • http://www.qqtmb.com/48917/173641.html
  • http://www.qqtmb.com/48917/5232.html
  • http://www.qqtmb.com/38912/161512.html
  • http://www.qqtmb.com/28911/323351.html
  • http://www.qqtmb.com/28911/6617.html
  • http://www.qqtmb.com/58910/245754.html
  • http://www.qqtmb.com/58910/34.html
  • http://www.qqtmb.com/PDFax/463571.html
  • http://www.qqtmb.com/PDFar/42126.html
  • http://www.qqtmb.com/PDFax/1273.html
  • http://www.qqtmb.com/PDFab/32356.html
  • http://www.qqtmb.com/PDFac/61.html
  • http://www.qqtmb.com/PDFas/171773.html
  • http://www.qqtmb.com/dE12/755137.html
  • http://www.qqtmb.com/dE12/64722.html
  • http://www.qqtmb.com/dE12/52611.html
  • http://www.qqtmb.com/dE12/22413.html
  • http://www.qqtmb.com/dE12/54676.html
  • http://www.qqtmb.com/dE12/377275.html
  • http://www.qqtmb.com/dEor/426613.html
  • http://www.qqtmb.com/dEor/726236.html
  • http://www.qqtmb.com/dEor/56721.html
  • http://www.qqtmb.com/dEor/24413.html
  • http://www.qqtmb.com/dEor/754751.html
  • http://www.qqtmb.com/dEor/31542.html
  • http://www.qqtmb.com/dEor/66376.html
  • http://www.qqtmb.com/dEor/31711.html
  • http://www.qqtmb.com/dEor/71723.html
  • http://www.qqtmb.com/dEor/43515.html
  • 北京赛车pk10 申博官网 北京赛车pk10 六台宝典现场开奖 北京赛车pk10历史记录 北京赛车开奖 北京赛车预测 949494开奖结果今晚 威尼斯人线上娱乐 手机投注平台 幸运28投注技巧 pk10助赢软件 北京pk10百度鼎盛彩票网 北京赛车聚彩 北京pk10如何稳杀3码 pk10稳赢方法 pk10定位计划 pk10包赢计划群