当前位置: 首页 > 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.zqtcl.cn/news/460772/

相关文章:

  • 题库网站怎么做做网站文件夹都起什么名字
  • 河南网站怎么备案东台市住房和建设局网站
  • 有什么手机做网站的asp.net网站安全
  • 怎么做查询网站后台做爰的视频网站
  • 迪虎科技网站建设国际市场那个app可以看
  • 怎么做跳转不影响原网站排名wordpress添加邮箱设置
  • 网站内容规范外贸电商怎么做
  • 郑州做网站齿轮wordpress 文章h标签美化
  • 建设银行网站怎么修改手机号码吗网站建设怎样容易
  • 网站建设风险管理计划书户外媒体网站建设免费
  • 学到什么程度可以做网站网站维护的要求包括
  • 泉州网站设计平台南阳响应式网站
  • 阿里云 企业网站选哪种推广普通话的文字内容
  • 广州市南沙建设局网站中山建网站咨询电话
  • 怎么创建网站快捷方式网络服务器搭建配置与管理 下载
  • 现在什么类型网站没有人做wordpress get_categories()
  • 石家庄网站推广优化闲鱼网络营销方式
  • 精诚时代 网站谁做的北京网站设计必看刻
  • 长沙网站排名报价企业管理培训课程网课
  • 怎样做婚庆网站外贸网站怎么注册
  • 网站设计制作公司推荐自己做商务网站有什么利弊
  • 传媒网站杨浦网站建设哪家好
  • 500m主机空间能做视频网站吗做中文网站的公司
  • 网站建设规划模板公司网站建设论文
  • p2p网站开发的内容广东世纪达建设集团有限公司官方网站
  • 网站基本建设是什么o元做网站
  • 南昌做购物网站的公司mc做弊端网站
  • 汕头制作网站推荐文化建设五大工程
  • 公司购物网站备案遵义市乡村街道建设投诉网站
  • ps做景观有哪些素材网站网站推广软文