大家好,我确实在MySql查询中苦苦挣扎,我有一个名为“ info”的表,并且其中有一个名为“ rating”的列,评分在1-10之间.

现在,我需要生成一个百分比值,该百分比值表示1-6、7-8和9-10中有多少评级,但我需要它们拼命显示,之后我需要第二个查询,该查询可以从中减去结果的百分比值1-6和9-10.

下面的查询与我从所有研究中获得的查询一样接近,但是我不知道如何仅获得1-6的百分比,而不是全部,以及如何获得第二个查询以减去1-6和9-10个评分百分比.

SELECT rating,

COUNT(*) AS Count,

(COUNT(*) / _total ) * 100 AS Percentege

FROM info,

(SELECT COUNT(*) AS _total FROM info) AS myTotal

GROUP BY rating

解决方法:

select if(rating between 1 and 6, '1-6',

if( rating between 7 and 8, '7-8',

'9-10' )

) as rating_range,

count(1) as num

from info

group by rating_range

编辑:添加舍入和计算

可以用作子查询.给定分组依据,您需要单独获取总金额:

select Q.rating_range,

Q.num,

round(Q.num * 100 / Q.total, 2) as percent

from (

select R.*,

(select count(1) from info) as total

from (

select if(rating between 1 and 6, '1-6',

if( rating between 7 and 8, '7-8',

'9-10' )

) as rating_range,

count(1) as num

from info

group by rating_range ) R

) Q

group by Q.rating_range

就相对价值而言,如果我有一个,我可能会在外部应用程序中做到这一点.否则,您可以执行我想进行的特定查询:

select Q.rating_range,

Q.num,

round(Q.num * 100 / Q.total, 2) as percent,

round( (Q.num - Q.total_nine_ten) * 100 / Q.total, 2) as diff_from_nine_ten

from (

select R.*,

(select count(1) from info) as total,

(select count(1) from info where rating > 8 ) as total_nine_ten

from (

select if(rating between 1 and 6, '1-6',

if( rating between 7 and 8, '7-8',

'9-10' )

) as rating_range,

count(1) as num

from info

group by rating_range ) R

) Q

group by Q.rating_range

不是很优雅,但是可以用

标签:survey,mysql,php

来源: https://codeday.me/bug/20191119/2037466.html

如何用php查不同,php-MySql调查不同查询相关推荐

  1. mysql 社区版密码如何修改_如何用优雅的方法修改MySQL root密码

    搭噶好,我系小编,我好久没发文章了啊,今天发文章的原因是,我竟然忘了我的MySQL root密码..本来想找RAKsmart客服直接重置啥的,后来想想还是自己搞吧,还能长知识. 然后,我发现一个事情, ...

  2. mysql根据字长查询_MYSQL常用查命令

    MYSQL常用查命令: mysql> select version();        查看MySQL的版本号 mysql> select current_date();        查 ...

  3. nodejs mysql 增删改查_nodejs操作mysql实现增删改查的实例

    首先需要安装mysql模块:npm install mysql --save 然后创建user数据表: 接着使用nodejs对数据库进行增删改查: .[活动]2017 CSDN博客专栏评选 [评论送书 ...

  4. mysql中怎么查询单行单列_MySql中的子查询-结果单行单列

    MySQL是开源免费和功能多面的小型数据库,MySQL也是目前流行通用的关系型数据库,已经被 Oracle 收购了.随着版本更新升级,加入一些高级功能,MySQL6.x 版本也开始收费.不过本教程将使 ...

  5. 查询 oracle_关于oracle和mysql数据库的查询问题

    近期在写mysql数据库报表时,需要给查询排序后的数据增加一列序号,用来统计查询数据的排名,在这里遇到一个视图和排序冲突的问题. Part 1 在oracle数据库中可以直接给查询语句增加一列ROWN ...

  6. 读薄《高性能MySql》(四)查询性能优化

    读薄<高性能MySql>(一)MySql基本知识 读薄<高性能MySql>(二)Scheme与数据优化 读薄<高性能MySql>(三)索引优化 读薄<高性能M ...

  7. mysql之慢查询详解,mysqldumpslow的使用

    简言 1. mysql中的慢查询是我们分析问题,定位问题的利器,巧妙使用可以快速解决问题 2. 原理:运行时间超过 long_query_time 的sql语句会被写入到慢查询日志文件中或者mysql ...

  8. mysql开启慢查询方法(转)

    1,配置开启 Linux: 在mysql配置文件my.cnf中增加 log-slow-queries=/var/lib/mysql/slowquery.log (指定日志文件存放位置,可以为空,系统会 ...

  9. mysql 获取结果_【原创】7. MYSQL++中的查询结果获取(各种Result类型)

    在本节中,我将首先介绍MYSQL++中的查询的几个简单例子用法,然后看一下mysqlpp::Query中的几个与查询相关的方法原型(重点关注返回值),最后对几个关键类型进行解释. 1. MYSQL++ ...

  10. mysql递归层次查询

    mysql递归层次查询 最近在做一个从oracle数据库到mysql数据库的移植,遇到一个这样的问题 在Oracle 中我们知道有一个 Hierarchical Queries 通过CONNECT B ...

最新文章

  1. web.config文件中的特殊字符处理
  2. python数据结构与算法(2)
  3. 联通突然从4g变成3g了_中国联通最快明年底2G全面退网 并推进3G逐步退网
  4. 【问链-EOS公开课】第七课 EOS 宪法草案与 BP 协议
  5. 报文解析_104规约报文结构解析
  6. FastRoute - 快速请求路由
  7. 利用PCF8591进行AD转换
  8. vue 将字符串最后一个字符给替换_前端开发:Vue项目实战-Music
  9. 从 Java 替代品到打造完整生态,Kotlin 10 岁了!
  10. 单元测试实践的主要问题与解决(2)
  11. Android 经常使用设计模式(一)
  12. 【数据结构与算法C语言版】基础代码整理 思维导图
  13. 前台系统(内容管理)
  14. windows10商店应用离线安装方法
  15. 实数系与实数定理(上)
  16. 罗格斯的计算机科学博士奖学金,罗格斯大学计算机科学系
  17. cesium 模型实体平移
  18. 基于PHP+MySQL教务管理系统的设计与实现
  19. Fedora Project, extras 目录(进入小心)
  20. nestjs listen EADDRINUSE: address already in use :::3000

热门文章

  1. oracle 11g r2版本号,Oracle 11g r2新增版本功能(二)
  2. 乐高机器人亮剑_2500名选手大比拼 全球机器人广州从化“亮剑”
  3. Java 200+ 面试题补充② Netty 模块
  4. 一个好的技术团队应该怎么选择开发语言
  5. 基于sympy的python实现三层BP神经网络算法
  6. C#中IEnumerableT.Aggregate()的简单使用
  7. H5页面适配iOS、Android和微信
  8. f5+big+client+android,F5负载均衡 MIBs bigip oid
  9. exfat为什么不适合机械硬盘_为什么有人说小排量车不适合跑高速,多少排量的车适合?...
  10. 多线程导出excel高并发_大牛带你深入java多线程与高并发:JMH与Disruptor,确定能学会?...