当前位置: 首页 > news >正文

东莞seo网站优化运营12306网站建设

东莞seo网站优化运营,12306网站建设,空中客车网站建设需求,资阳网站优化问题描述 为使讨论简单易懂#xff0c;我将问题稍作简化#xff0c;去掉诸多的背景。 从前有一个皇帝#xff0c;他有50个妃子#xff0c;这些妃子很没有天理的给他生了100,000个儿子#xff0c;于是#xff0c;皇帝很苦恼#xff0c;海量的儿子很难管理#xff0c;而且…问题描述 为使讨论简单易懂我将问题稍作简化去掉诸多的背景。 从前有一个皇帝他有50个妃子这些妃子很没有天理的给他生了100,000个儿子于是皇帝很苦恼海量的儿子很难管理而且他想知道每个妃子给他生了多少个儿子从而论功行赏这很难办。问题描述为使讨论简单易懂我将问题稍作简化去掉诸多的背景。从前有一个皇帝他有50个妃子这些妃子很没有天理的给他生了100,000个儿子于是皇帝很苦恼海量的儿子很难管理而且他想知道每个妃子给他生了多少个儿子从而论功行赏这很难办。于是皇帝请了一个程序员帮他编了一个程序用数据库来存储所有的儿子的信息这样就可以用程序来统计和管理啦。数据库的结构如下id皇子的唯一编号mother皇子母亲的唯一编号皇帝把妃子分成了两个等级天宫娘娘(编号小于25)和地宫娘娘(编号大于等于25)他想知道天宫娘娘们和地宫娘娘们的生育能力孰强孰弱。于是程序员开始写SQL Query了。方法1使用GROUP BYSQL QuerySELECTCOUNT(*)FROMprinceGROUPBYmother24;执行结果count(*)5002949971在100,000行数据上的运行时间0.0335 秒分析这种GROUP BY方法的最大问题在于无法区分所得到的结果。这两个数字哪一个是天宫娘娘们所生的皇子数哪一个是地宫娘娘们所生的皇子数呢不知道。所以尽管它统计出了总数但是没有什么意义。因此为了区分统计结果必须要把条件 mother 24 也作为一个字段在结果集中作为一个字段体现出来修改后的sql如下SELECTCOUNT(*)ASnumber,mother24AStypeFROMprinceGROUPBYmother24;执行结果number type50029 049971 1条件表达式作为字段时该字段的值就是该条件表达式的值因此对应我们的例子type 1 也就是表示 mother 24 的值为1因此第二行中的数字代表地宫娘娘们所生的皇子数。经过修改后我们看出天宫娘娘们略胜一筹。优缺点缺点是显而易见的由于使用了条件表达式作为分组依据它只能做二元的划分对于要分成多类进行统计的情况不能够胜任。比如要分别统计1~10号、11~24号25号~50号妃子的产子数就无法实现了。另外由于使用了GROUP BY因此涉及到排序执行时间上要更长。我暂时没有发现这种方法的优点。方法2使用嵌套的SELECT使用嵌套的SELECT也可以达到目的在每个SELECT子句中统计一个条件下的数据然后用一个主SELECT把这些统计数据整合起来。SQL QuerySELECT(SELECTCOUNT(*)FROMprinceWHEREmother24)ASdigong,(SELECTCOUNT(*)FROMprinceWHEREmother24)AStiangong执行结果digong tiangong49971 50029在100,000行数据上的运行时间0.0216 秒分析这种嵌套SELECT的方法非常直观就是分别统计各个条件下的数值最后进行汇总通俗易懂跟自然语言没啥区别了。优缺点优点就是直观而且速度也比GROUP BY要快。虽然是3条SELECT语句看起来比GROUP BY的方案多了2条语句但是它不涉及到排序这就节省了很多时间。缺点可能就是语句稍多对语句数量有洁癖的同学可能会比较不舒服。方法3使用CASE WHENCASE WHEN语句的功能很强大可以定义灵活的查询条件很适合进行分类统计。SQL QuerySELECTCOUNT(CASEWHENmother24THEN1ELSENULLEND)ASdigong,COUNT(CASEWHENmother24THEN1ELSENULLEND)AStiangongFROMprince执行结果digong tiangong49971 50029在100,000行数据上的运行时间0.02365825 秒分析此方法的关键在于COUNT(CASEWHENmother24THEN1ELSENULLEND)这里的COUNT和CASE WHEN联合使用做到了分类计数。先使用CASE WHEN当满足条件时将字段值设置为 1 不满足条件时将字段值设置为NULL接着COUNT函数仅对非NULL字段进行计数于是问题解决。优缺点优点嘛此方法也不涉及到排序因此运行时间上与方法2相当SELECT语句减少到了 1 条。缺点就是语句比较长对语句长度有洁癖的同学可能会比较不舒服。总结对于确定分类的按条件计数可以尽量不用GROUP BY从而避免排序动作加速Query的执行。如果需要根据某个字段的值进行分类而该字段的值是可变的比如皇帝要统计每一个妃子的产子数而他可能不停的再娶很多妃子这种情况下使用方法2和方法3就不太灵光了还是使用一个GROUP BY来得简单便捷。本文原创发布php中文网转载请注明出处感谢您的尊重
http://www.pierceye.com/news/460772/

相关文章:

  • 娄底高端网站建设网站建设费计入 科目
  • 免费企业网站程序上传wordpress 卸载
  • 大庆市建设局网站上不去linux删除WordPress
  • 宣城市建设监督管理局网站下载怎么上wordpress
  • 福州做网站fjfzwl编写软件开发文档
  • 平台设计网站公司电话号码建站哪家好用兴田德润
  • 宝安网站建设信科免费网站开发 自动填写表单
  • 网站怎么更新文章动漫网站在线免费观看
  • 织梦 网站迁移网页制作三剑客通常指
  • 南京本地网站建站武安百度seo
  • 特定ip段访问网站代码西安免费建网站设计
  • 个人网站备案取消wordpress可以做大吗
  • 如何做网站管理网站服务器基本配置
  • 做网站需要参考书目书龙岩营销型网站建设
  • 南通网站建设解决方案求助如何做网站推广
  • 揭阳企业做网站淮安做网站
  • 怎么给餐饮店做网站用织梦做企业网站
  • 技术支持 创思佳网站建设如何制作自己的网站
  • 济南网站建设公司晟创未来wordpress xml插件
  • 前端做商城网站需要多久实训课网站开发个人小结
  • 南宁网站seo排名优化手机网站制作架构
  • 亿唐网不做网站做品牌案例分析seo 推广服务
  • 深圳网站建设服务器如何编写一份网站开发需求文档
  • 营销网站策划wordpress主题在线汉化插件下载
  • 深圳市网站开发个人养老保险金怎么交
  • 超炫html5网站模板新手做网站怎么上传系统
  • 一个网站的二级目录在另一台服务器上_怎么做网络营销工程师前景
  • 个人网站推广软件企业网站建设变相收取等级保护费6
  • 有没有一些网站可以做问卷个人网站 服务器
  • 网站前端WordPress怎么自定义页眉