数据库环境:SQL SERVER 2005

  有一博彩的赔率是1:20,它有2张业务表:smuchs(投注表),lottery(开奖表)。

smuchs表有3个字段,分别是sno(投注号码)、smuch(投注金额),stime(投注时间),

lottery表有2个字段,分别是lno(开奖号码)、stime(开奖时间)。smuchs表和lottery表的数据如下:

     

  要求:根据每天的投注情况和开奖号码,统计指定日期的投注金额、中奖应支付金额、盈亏金额。

  1.建表,导入模拟数据

CREATE TABLE smuchs (sno INT,smuch INT,stime DATETIME)
INSERT into smuchs values(23,100,'2015-09-01 09:10:11');
INSERT into smuchs values(02,2,'2015-09-01 12:23:28');
INSERT into smuchs values(18,4,'2015-09-01 14:02:34');
INSERT into smuchs values(32,60,'2015-09-01 14:10:58');
INSERT into smuchs values(10,26,'2015-09-02 10:57:24');
INSERT into smuchs values(27,12,'2015-09-02 15:42:34');
INSERT into smuchs values(03,14,'2015-09-02 16:12:58');
INSERT into smuchs values(19,18,'2015-09-03 17:23:24');
INSERT into smuchs values(14,30,'2015-09-03 17:25:12');
INSERT into smuchs values(02,90,'2015-09-01 18:02:34');
CREATE TABLE lottery(lno INT,ltime DATETIME)
INSERT INTO lottery VALUES(18,'2015-09-01 21:00:00')
INSERT INTO lottery VALUES(09,'2015-09-02 21:00:00')
INSERT INTO lottery VALUES(14,'2015-09-03 21:00:00')

  2.标量实现

SELECT  stime ,
smuch ,
ISNULL(lmuch, 0) AS lmuch ,
smuch - ISNULL(lmuch, 0) slmuch
FROM ( SELECT CONVERT(VARCHAR(10), sh.stime, 121) AS stime ,
SUM(sh.smuch) AS smuch ,
20
* ( SELECT SUM(smuch)
FROM smuchs
INNER JOIN lottery ON lottery.lno = smuchs.sno
AND CONVERT(VARCHAR(10), lottery.ltime, 121) = CONVERT(VARCHAR(10), smuchs.stime, 121)
AND CONVERT(VARCHAR(10), sh.stime, 121) = CONVERT(VARCHAR(10), smuchs.stime, 121)
) AS lmuch
FROM smuchs sh
GROUP BY CONVERT(VARCHAR(10), sh.stime, 121)
) t

  aaarticlea/png;base64,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" alt="" />

  这是某网友的实现方法,我们可以看到,smuchs表被扫描了4次,lottery表被访问了3次。通过

查看执行计划,发现外部表和子查询部分走的是嵌套循环。如果数据很多,这个SQL的查询速度会比较慢。

  3.left join实现

/*合计每个号码的投注金额*/
WITH x0
AS ( SELECT sh.sno ,
SUM(sh.smuch) AS smuch ,
CONVERT(VARCHAR(10), sh.stime, 121) AS stime
FROM smuchs sh
GROUP BY sno ,
CONVERT(VARCHAR(10), sh.stime, 121)
),
x1
AS ( SELECT sh.sno ,
sh.smuch ,
sh.stime ,
ly.lno
FROM x0 sh
LEFT JOIN lottery ly ON ly.lno = sh.sno
AND CONVERT(VARCHAR(10), ly.ltime, 121) = sh.stime
),
x2
AS ( SELECT stime ,
SUM(smuch) AS smuch ,--统计所有投注金额
20 * SUM(CASE WHEN lno IS NOT NULL THEN smuch
END) AS lmuch--统计中奖应付金额
FROM x1
GROUP BY stime
)
SELECT stime ,
smuch ,
ISNULL(lmuch, 0) AS lmuch ,
smuch - ISNULL(lmuch, 0) slmuch
FROM x2

aaarticlea/png;base64,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" alt="" />

  通过left join改写,lottery表和smuchs表均只被扫描1次。

  统计的结果如图:

aaarticlea/png;base64,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" alt="" />

(本文完)

最新文章

  1. 向ArcGIS的ToolBarControl中添加任意的windows控件的方法
  2. 你应该了解Nginx的7个原因
  3. ASP.NET Entity Framework with MySql服务器发布环境配置
  4. JS 清除字符串数组中,重复元素
  5. 解决 SQLite数据库 no current row
  6. Cassandra1.2文档学习(18)—— CQL数据模型(下)
  7. 【转】ExcelHelper类,用npoi读取Excel文档
  8. 【 D3.js 进阶系列 — 6.2 】 饼状图的拖拽
  9. 编写利用Fragment创建新闻列表
  10. css3动画学习的例子来源
  11. Javascript 装载和执行
  12. asp.net Global.asax 不运行解决
  13. Algorithm --> 求阶乘末尾0的个数
  14. Html,CSS和盒子
  15. 11、Grafana 5.0 新功能特性(译文)
  16. MySQL中间件之ProxySQL(6):管理后端节点
  17. centos 7 增加网卡子接口配置
  18. underscore.js源码研究(3)
  19. docker 部署django项目(nginx + uwsgi +mysql)
  20. STM32F103RE引脚功能整理

热门文章

  1. hdu 1034 Candy Sharing Game
  2. Swift 基本语法1
  3. iOS 分类和继承
  4. android常见错误-Unexpected namespace prefix "xmlns" found for tag LinearLayout
  5. [React Fundamentals] Component Lifecycle - Mounting Usage
  6. Java和.NET下socket转换错误记录
  7. Centos内核升级的三种方法
  8. [Effective C++ --006]若不能使用编译器自动生成的函数,就该明确拒绝
  9. 一个响应式数据库框架SQLBrite,完美解决数据库和UI的同步更新!
  10. 可扩展的listview--Expandablelistview