我有一个要运行的非常复杂的mySQL查询,并且在思考如何编写它时遇到了麻烦.

基本上我有三个表:

a(aID, name);

b(bID, val);

ab(aID, bID, include)

我想做的是创建一个查询,该查询创建一个像这样的表:

c(aID, percentage);

我希望以这种方式百分比(总计/可能).总计是这样计算的.每当a行和b行具有关系且include为1时,我要合计添加b.val的值.可能是b.val的总和,除非ab.include = 0

例如:

a:

+-----+

| aID |

+-----|

| 1 |

| 2 |

| 3 |

+-----+

b:

+-----+-----+

| bID | val |

+-----+-----+

| 1 | 1 |

| 2 | 1 |

| 3 | 1 |

+-----+-----+

ab:

+-----+-----+---------+

| aID | bID | include |

+-----+-----+---------+

| 1 | 1 | 1 |

| 1 | 3 | 0 |

| 2 | 1 | 1 |

| 3 | 1 | 1 |

| 3 | 2 | 1 |

| 3 | 3 | 1 |

+-----+-----+---------+

c:

+-----+------------+

| aID | percentage |

+-----+------------+

| 1 | 50 |

| 2 | 33.33 |

| 3 | 100 |

+-----+------------+

目前我有这个:

SELECT a.aID, (SUM(b.val)/(SELECT SUM(val) FROM b))*100 AS percentage

FROM a, ab, b

WHERE a.aID = ab.aID AND ab.bID = b.bID

GROUP BY a.aID

这给出了相对于重量,aID与bID配对的百分比,但我想添加此其他计算.

这可能吗?

尝试了一下,但是没有用:

我正要尝试这个:

SELECT a.aID, (SUM(b.val)/(SELECT SUM(val) FROM b,ab WHERE ab.include = 1))*100 AS percentage

FROM a, ab, b

WHERE a.aID = ab.aID AND ab.bID = b.bID AND ab.include = 1

GROUP BY a.aID

mysql查询不确定的信息_mysql-非常复杂的查询,不确定是否可行.涉及...相关推荐

  1. mysql查询不确定的信息_mysql 07.18

    1.索引 搜索引导,索引是一个特殊的数据结构,期存储的是数据的关键信息与详细详细的位置对应关系. 目的:加速查询. 索引的影响: 不是说拥有索引就能加速,得看你的查询语句有没有正确使用索引, 索引也需 ...

  2. MySQL查年龄18到22的信息_MySQL之单表查询

    1.查询所有老师的信息 select*fromteacher; 2.在没有表被引用的情况下,允许使用dual作为一个假的表名 selectnow()fromdual;select1+1fromdual ...

  3. mysql连接多个存储存储_Mysql(三):多表查询和存储程序

    今天内容: ● 多表查询(内连接 外连接 子查询) ● 存储程序(存储过程 函数) 多表查询 ​同时从多张数据表中查取到需要的数据即是多表查询. 多表查询时,参与查询的表中每条数据进行组合,这种效果称 ...

  4. mysql查询姓名第二个字_Mysql(2)查询实例

    一:MySQL简介与安装 MySQL是一种中型.易用的关系型数据库管理系统(DBMS,Database Management System). 安装步骤: 第一步:  sudo apt-get ins ...

  5. mysql 小表连大表_MySQL 表之间关联查询时,为什么建议小表驱动大表?

    有的时候我们在操作数据库时会将两个或多个数据表关联起来通过一些条件筛选数据,在关联表时我们要遵循一些原则,这样会使我们编写的SQL 语句在效率上快很多. 一.优化原则 小表驱动大表,即小的数据集驱动大 ...

  6. 一次性查询多个域名信息:360域名批量查询神器

    在当今数字时代,互联网已经成为人们生活和工作中必不可少的一部分.而域名则是互联网世界中不可或缺的基础组成部分.无论是企业还是个人,都需要一个好的域名来搭建网站,打造品牌,推广产品和服务.然而,在日常工 ...

  7. mysql 所有表的字段信息_mysql如何查询所有表和字段信息

    mysql查询所有表和字段信息的方法: 1.根据库名获取所有表的信息 SELECT * FROM information_schema.`TABLES` WHERE TABLE_SCHEMA = 'e ...

  8. mysql输出学生和考试信息_mysql练习题-查询同时参加计算机和英语考试的学生的信息-遁地龙卷风...

    文章参考http://blog.sina.com.cn/willcaty. 针对其中的一道练习题想出两种其他的答案,希望网友给出更多回答. (0) 基础数据 student表 +-----+----- ...

  9. mysql 多表联查的效率_Mysql 多表联合查询效率分析

    1 多表连接类型 1. 笛卡尔积(交叉连接) 在MySQL中可以为CROSS JOIN或者省略CROSS即JOIN,或者使用',' 如: SELECT * FROM table1 CROSS JOIN ...

  10. mysql数据库中插入表信息_mysql数据库中插入表

    通过binlog恢复mysql数据库 在上一篇文章,我们讲解了有关mysql的binlog日志的基础知识.这篇文章,我们来讲解如何通过mysql的binlog日志来恢复数据库. 在使用binlog日志 ...

最新文章

  1. 学生的新增mySQL文档_MySQL增删改查
  2. Linux之数组和关联数组
  3. python 日期 格式转换 英文_量化数据预处理-中文日期(含)转英文日期
  4. 第15章 使用DOM的脚本语言
  5. CentOS 安装MySQL5.7 源码方式安装
  6. The 15th UESTC Programming Contest Preliminary K - Kidd1ng Me? cdoj1565
  7. Python Extension
  8. 数据库开发综合案例——仓库管理系统设计
  9. 电脑主板报警声音的故障现象对照表
  10. mysql like 匹配排序,MySQL 基于like的模糊查询 并根据查询的匹配度排序
  11. MessagingTimeout: Timed out waiting for a reply to message ID
  12. 群晖硬盘已损毁 Linux 修复,群晖NAS提示空间损毁修复纪实 | Yeboyzq Blog
  13. Debian6.02 终端中文设置--FBTerm + ucimf
  14. 软件开发: hard code是什么及其作用
  15. 聚观早报|百度3月16日发布文心一言;特斯拉被控维修和零部件垄断
  16. python读取中文txt乱码问题
  17. 一种基于Gradient Boosting的公交车运行时长预测方法
  18. 我,一个生物学硕士,是怎么转行成为程序员,进入互联网大厂的
  19. 端到端图像压缩《Asymmetric Gained Deep Image Compression With Continuous Rate Adaptation》
  20. 报考教师资格证需要什么条件

热门文章

  1. 网易回应裁撤生病员工;苹果押宝 5G 手机;IntelliJ IDEA 2019.3 RC 发布 | 极客头条...
  2. 十行代码实现十亿图片检索,我们把它开源了
  3. 华为顶尖应届生最高年薪超 200 万;抖音服务器宕机;GitLab 12.1 发布 | 极客头条...
  4. 面对 996,程序员如何利用“碎片时间”涨薪?
  5. 雷军这么努力,为什么还是干不过 OV?
  6. 春运车票为谁“秒空”?第三方软件的困与危
  7. 为什么腾讯云要自研云原生数据库 CynosDB?
  8. 开源项目的所有者去世了怎么办?
  9. 腾讯状告前工程师开发游戏抄袭《王者荣耀》,赔偿 1940 万元!
  10. 人工智能这么火,可你真的会用 TensorFlow?