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

 
 注册
热搜:
查看: 2392|回复: 6

[每日一题] PL/SQL Challenge 每日一题:2017-12-18 GROUPING SETS

[复制链接]
论坛徽章:
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#
发表于 2017-12-21 04:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
(原发表于 2011-7-1)

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

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

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

原始出处:


作者: Kim Berg Hansen

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

我创建了下列的表和数据:

CREATE TABLE plch_sales
(
   product     VARCHAR2(10)
, country     VARCHAR2(10)
, year        NUMBER
, sales       NUMBER
)
/

BEGIN
   INSERT INTO plch_sales VALUES ('BANANA', 'US', 2009, 200);
   INSERT INTO plch_sales VALUES ('BANANA', 'US', 2010, 300);
   INSERT INTO plch_sales VALUES ('BANANA', 'GB', 2009, 400);
   INSERT INTO plch_sales VALUES ('BANANA', 'GB', 2010, 350);
   INSERT INTO plch_sales VALUES ('BANANA', 'DK', 2010, 250);
   INSERT INTO plch_sales VALUES ('APPLE' , 'US', 2009, 100);
   INSERT INTO plch_sales VALUES ('APPLE' , 'GB', 2009, 150);
   INSERT INTO plch_sales VALUES ('APPLE' , 'GB', 2010, 150);
   INSERT INTO plch_sales VALUES ('APPLE' , 'DK', 2009, 250);
   INSERT INTO plch_sales VALUES ('APPLE' , 'DK', 2010, 250);
   INSERT INTO plch_sales VALUES ('PEAR'  , 'GB', 2010, 150);
   INSERT INTO plch_sales VALUES ('PEAR'  , 'DK', 2009, 300);
   INSERT INTO plch_sales VALUES ('PEAR'  , 'DK', 2010, 350);

   COMMIT;
END;
/

我老板想要按产品、国家的销售汇总以及总计。

哪些选项产生这个输出:

TOTAL   PRODUCT    COUNTRY         SALES
------- ---------- ---------- ----------
Product APPLE      TOTAL             900
Product BANANA     TOTAL            1500
Product PEAR       TOTAL             800
Country TOTAL      DK               1400
Country TOTAL      GB               1200
Country TOTAL      US                600
Grand   TOTAL      TOTAL            3200

(A)
SELECT 'Product' total
     , CASE GROUPING(s.product)
         WHEN 1 THEN 'TOTAL'
         ELSE s.product
       END product
     , 'TOTAL' country
     , SUM(s.sales) sales
FROM plch_sales s
GROUP BY s.product
UNION ALL
SELECT 'Country' total
     , 'TOTAL' product
     , CASE GROUPING(s.country)
         WHEN 1 THEN 'TOTAL'
         ELSE s.country
       END country
     , SUM(s.sales) sales
FROM plch_sales s
GROUP BY s.country
UNION ALL
SELECT 'Grand' total
     , 'TOTAL' product
     , 'TOTAL' country
     , SUM(s.sales) sales
FROM plch_sales s
ORDER BY product, country;

(B)
SELECT * FROM (
   SELECT 'Product' total
        , CASE GROUPING(s.product)
            WHEN 1 THEN 'TOTAL'
            ELSE s.product
          END product
        , 'TOTAL' country
        , SUM(s.sales) sales
   FROM plch_sales s
   GROUP BY s.product
   ORDER BY s.product
)
UNION ALL
SELECT * FROM (
   SELECT 'Country' total
        , 'TOTAL' product
        , CASE GROUPING(s.country)
            WHEN 1 THEN 'TOTAL'
            ELSE s.country
          END country
        , SUM(s.sales) sales
   FROM plch_sales s
   GROUP BY s.country
   ORDER BY s.country
)
UNION ALL
SELECT 'Grand' total
     , 'TOTAL' product
     , 'TOTAL' country
     , SUM(s.sales) sales
FROM plch_sales s;

(C)
SELECT CASE GROUPING_ID(s.product, s.country)
         WHEN 1 THEN 'Product'
         WHEN 2 THEN 'Country'
         WHEN 3 THEN 'Grand'
       END total
     , CASE GROUPING(s.product)
         WHEN 1 THEN 'TOTAL'
         ELSE s.product
       END product
     , CASE GROUPING(s.country)
         WHEN 1 THEN 'TOTAL'
         ELSE s.country
       END country
     , SUM(s.sales) sales
FROM plch_sales s
GROUP BY ROLLUP(s.product, s.country)
ORDER BY s.product, s.country;

(D)
SELECT CASE GROUPING_ID(s.product, s.country)
         WHEN 1 THEN 'Product'
         WHEN 2 THEN 'Country'
         WHEN 3 THEN 'Grand'
       END total
     , CASE GROUPING(s.product)
         WHEN 1 THEN 'TOTAL'
         ELSE s.product
       END product
     , CASE GROUPING(s.country)
         WHEN 1 THEN 'TOTAL'
         ELSE s.country
       END country
     , SUM(s.sales) sales
FROM plch_sales s
GROUP BY GROUPING SETS(
   (s.product),
   (s.country),
   ()
)
ORDER BY s.product, s.country;

(E)
SELECT CASE GROUPING_ID(s.product, s.country)
         WHEN 1 THEN 'Product'
         WHEN 2 THEN 'Country'
         WHEN 3 THEN 'Grand'
       END total
     , CASE GROUPING(s.product)
         WHEN 1 THEN 'TOTAL'
         ELSE s.product
       END product
     , CASE GROUPING(s.country)
         WHEN 1 THEN 'TOTAL'
         ELSE s.country
       END country
     , SUM(s.sales) sales
FROM plch_sales s
GROUP BY CUBE(s.product, s.country)
HAVING GROUPING_ID(s.product, s.country) > 0
ORDER BY s.product, s.country;

(F)
SELECT CASE GROUPING_ID(product, country)
         WHEN 1 THEN 'Product'
         WHEN 2 THEN 'Country'
         WHEN 3 THEN 'Grand'
       END total
     , CASE GROUPING(product)
         WHEN 1 THEN 'TOTAL'
         ELSE product
       END product
     , CASE GROUPING(country)
         WHEN 1 THEN 'TOTAL'
         ELSE country
       END country
     , SUM(sales) sales
FROM plch_sales
GROUP BY GROUPING SETS(
   (product),
   (country),
   ()
)
ORDER BY product, country;
论坛徽章:
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
2#
 楼主| 发表于 2017-12-22 05:15 | 只看该作者
顶下。

使用道具 举报

回复
论坛徽章:
9
目光如炬
日期:2017-10-30 17:00:03火眼金睛
日期:2017-11-01 17:00:02目光如炬
日期:2017-11-05 22:00:01目光如炬
日期:2017-11-19 22:00:00火眼金睛
日期:2017-11-30 22:00:00目光如炬
日期:2017-12-10 22:00:00目光如炬
日期:2017-12-17 22:00:00目光如炬
日期:2017-12-24 22:00:01火眼金睛
日期:2018-01-31 22:00:01
3#
发表于 2017-12-22 09:21 | 只看该作者
顶下

使用道具 举报

回复
论坛徽章:
20
2012新春纪念徽章
日期:2012-01-04 11:58:44秀才
日期:2016-03-01 09:55:08秀才
日期:2016-03-01 09:55:08秀才
日期:2016-03-28 10:21:13秀才
日期:2016-03-28 10:30:00秀才
日期:2016-03-28 10:30:00秀才
日期:2016-03-28 10:30:00秀才
日期:2016-04-29 15:04:10秀才
日期:2016-04-29 15:10:43秀才
日期:2016-03-01 09:55:08
4#
发表于 2017-12-22 09:23 | 只看该作者
正确答案是 ABDEF , C是错误的,ROLLUP(a,b) 只会group by (a,b) 和 a列 不会group by b列

使用道具 举报

回复
论坛徽章:
20
2012新春纪念徽章
日期:2012-01-04 11:58:44秀才
日期:2016-03-01 09:55:08秀才
日期:2016-03-01 09:55:08秀才
日期:2016-03-28 10:21:13秀才
日期:2016-03-28 10:30:00秀才
日期:2016-03-28 10:30:00秀才
日期:2016-03-28 10:30:00秀才
日期:2016-04-29 15:04:10秀才
日期:2016-04-29 15:10:43秀才
日期:2016-03-01 09:55:08
5#
发表于 2017-12-22 09:34 | 只看该作者
AB,使用的是UNION ALL;D使用的是GROUPING SETS和GROUPING_ID函数的组合,其中GROUPING SETS(a,b,c)会分别对a,b,c列做grouping;E使用的是GROUPING SETS和CUBE函数的组合,CUBE(a,b) 会对(a,b),(a),(b) 列进行group by 操作,F也是使用的是GROUPING SETS和GROUPING_ID函数的组合,只不过使用了别名。

使用道具 举报

回复
论坛徽章:
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
6#
 楼主| 发表于 2017-12-22 11:15 | 只看该作者
答案BDE, 本期无人得奖。

A: 这会产生所有需要的小计和总计,是一种自己实现的GROUPING SETS。但是ORDER BY根据的是列别名product 和 country 对结果进行排序,于是总计就比US(美国)的国家小计更早出现。在列的别名和列名相同的时候要特别注意。

B: 这是一个自己实现的GROUPING SETS,它创建了三组的SUM然后进行UNION ALL。注意ORDER BY必须出现在每个部分才能工作(或者每个部分都得SELECT某种可以在外层ORDER BY能够用得上的东西)

警告:这依赖于 UNION ALL会保留每个子查询的行顺序。这确实可行(因为优化器不会在UNION ALL之后做不必要的排序)但它不在文档中。因此,可能在未来版本中会改变,些许的可能性总是存在的。另一种备选答案是这样:

SELECT s2.total
     , s2.product
     , s2.country
     , s2.sales
FROM (
   SELECT 1 subselect
        , GROUPING(s.product) subtotal
        , 'Product' total
        , CASE GROUPING(s.product)
            WHEN 1 THEN 'TOTAL'
            ELSE s.product
          END product
        , 'TOTAL' country
        , SUM(s.sales) sales
   FROM plch_sales s
   GROUP BY s.product
   UNION ALL
   SELECT 2 subselect
        , GROUPING(s.country) subtotal
        , 'Country' total
        , 'TOTAL' product
        , CASE GROUPING(s.country)
            WHEN 1 THEN 'TOTAL'
            ELSE s.country
          END country
        , SUM(s.sales) sales
   FROM plch_sales s
   GROUP BY s.country
   UNION ALL
   SELECT 3 subselect
        , 1 subtotal
        , 'Grand' total
        , 'TOTAL' product
        , 'TOTAL' country
        , SUM(s.sales) sales
   FROM plch_sales s
) s2
ORDER BY s2.subselect
       , s2.subtotal
       , s2.product
       , s2.country;

如你所见,它更加复杂了,这正是为什么我们要理解并使用 GROUPING SETS :-)

C: ROLLUP(s.product, s.country)会生成(product,country)的小计,(product)的小计,然后是总计。它不会生成(country)小计。
D: GROUPING SETS 允许你能够轻易定义几种你想要GROUP BY的组合。此处它产生了三种GROUP BY组合然后在结果上做了UNION ALL。
E: CUBE 生成了所有四种GROUP BY组合。 HAVING GROUPING_ID 去除了 (product,country) 组合
F: 这是不错的,只是ORDER BY子句会以 product/country别名排序,这样country中的TOTAL就会出现在US之前。

使用道具 举报

回复
论坛徽章:
0
7#
发表于 2017-12-25 16:31 | 只看该作者

使用道具 举报

回复

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

本版积分规则

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包赢计划群