闲着没事搞了一下,欢迎指教。。

用户表:

CREATE TABLE `usr` (

`uid` int(11) NOT NULL,

`name` char(10) DEFAULT NULL,

PRIMARY KEY (`uid`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

吃饭记录表:

CREATE TABLE `meal` (

`mid` int(11) NOT NULL,

`money` int(11) DEFAULT NULL comment '付款金额',

`pay_uid` int(11) DEFAULT NULL comment '付款人员id',

`dt` date DEFAULT NULL,

PRIMARY KEY (`mid`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

吃饭人员流水表:

CREATE TABLE `meal_jnl` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`mid` int(11) DEFAULT NULL,

`in_uid` int(11) DEFAULT NULL comment '参加人员id',

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=52 DEFAULT CHARSET=utf8;

造数据:

INSERT INTO `usr` (`uid`, `name`)

VALUES

(1, 'jim'),

(2, 'jeak'),

(3, 'lucy'),

(4, 'carl'),

(5, 'jerry'),

(6, 'mark');

INSERT INTO `meal` (`mid`, `money`, `pay_uid`, `dt`)

VALUES

(1, 122, 2, '2017-06-01'),

(2, 56, 4, '2017-06-01'),

(3, 56, 1, '2017-06-02'),

(4, 76, 3, '2017-06-03'),

(5, 54, 5, '2017-06-04'),

(6, 66, 2, '2017-06-05'),

(7, 77, 2, '2017-06-05'),

(8, 34, 3, '2017-06-06'),

(9, 54, 1, '2017-06-07'),

(10, 77, 4, '2017-06-08'),

(11, 45, 5, '2017-06-08'),

(12, 87, 2, '2017-06-10'),

(13, 123, 3, '2017-06-11'),

(14, 431, 1, '2017-06-11'),

(15, 23, 4, '2017-06-12');

INSERT INTO `meal_jnl` (`id`, `mid`, `in_uid`)

VALUES

(1, 1, 2),

(2, 1, 3),

(3, 1, 4),

(4, 1, 5),

(5, 2, 1),

(6, 2, 2),

(7, 2, 4),

(8, 2, 5),

(9, 3, 1),

(10, 3, 2),

(11, 3, 3),

(12, 3, 4),

(13, 3, 5),

(14, 4, 3),

(15, 4, 4),

(16, 4, 5),

(17, 5, 2),

(18, 5, 5),

(19, 6, 4),

(20, 6, 5),

(21, 6, 1),

(22, 6, 2),

(23, 7, 2),

(24, 7, 5),

(25, 7, 1),

(26, 8, 2),

(27, 8, 3),

(28, 8, 4),

(29, 8, 5),

(30, 9, 1),

(31, 9, 4),

(32, 10, 1),

(33, 10, 2),

(34, 10, 3),

(35, 10, 4),

(36, 10, 5),

(37, 11, 1),

(38, 11, 2),

(39, 11, 5),

(40, 12, 2),

(41, 12, 5),

(42, 13, 3),

(43, 13, 1),

(44, 14, 1),

(45, 14, 3),

(46, 14, 4),

(47, 15, 3),

(48, 15, 4),

(49, 15, 5),

(50, 15, 6),

(51, 11, 6);

获取没人月底应付金额:

select in_uid,out_mon-pay_mon tm,name from (

select sum(case when money is null then 0 else money end) pay_mon,uid,name

from meal right join usr

on meal.`pay_uid`=usr.uid

where dt between '' and ''

group by pay_uid) aaa

right join (

select in_uid,sum(am) out_mon

from (

select a.mid,money/count(in_uid) am

from meal_jnl a join meal b

on a.mid=b.mid

where b.dt between '' and ''

group by mid) aa

join meal_jnl bb

on aa.mid=bb.mid group by in_uid) bbb

on aaa.uid=bbb.in_uid;

mysql设计表月份_mysql,表设计相关推荐

  1. mysql数据库业务逻辑_Mysql业务设计(逻辑设计)

    逻辑设计 数据库设计三大范式 数据库设计第一大范式 数据库表中所有的字段都只具有单一属性 单一属性的列是由基本数据类型所构成 设计出来的表都是简单的二维表 数据库设计的第二大范式 要求表中只有一个业务 ...

  2. mysql 忽略表大小写_mysql表名忽略大小写问题记录

    问题描述: 一开发同事在linux下调一个程序老是报错说找不到表,但是登陆mysql,show tables查看明明是已经创建了这张表的!!如下: mysql> show tables; +-- ...

  3. mysql关系表控制_mysql表关系

    一.表的详细操作 1.修改表名 alter table 旧表名 rename 新表名; ​2.修改表的引擎与字符编码 alter table 表名 engine="引擎名" ch ...

  4. mysql right join实例_MySQL表LEFT JOIN左连接与RIGHT JOIN右连接的实例教程

    LEFT JOIN 语法用法与实例MySQL LEFT JOIN 语法 SQL(MySQL) LEFT JOIN 会取得左表(table1)全部记录,即使右表(table2)并无对应匹配记录.LEFT ...

  5. mysql表类型_MySQL表类型的选择

    P131)创建表时的默认引擎是InnoDB,如果要修改默认的存储引擎,可以在参数文件中设置default-table-type.查看当前的默认存储引擎,可以使用一下命令: 创建新表的时候可以通过增加E ...

  6. mysql查看表描述_MySQL表记录操作介绍(重点介绍查询操作)

    MySQL表记录操作指的是对数据库表中数据进行CRUD增删改查操作,一下将一一给大家介绍,重点介绍查询操作. 一.插入数据(INSERT) 二.删除数据(DELETE) 三.修改数据(UPDATE) ...

  7. mysql 表 类型_mysql表类型

    MySQL支持6种不同的表类型:BDB.InnoDB.HEAP.ISAM.MERGE以及MyISAM.其中 BDB,InnoDB单独属于一类,称为"事务安全型"(transacti ...

  8. MySQL笔记创建表结构_MySQL表结构笔记9

    本篇大纲 MySQL数据表 创建表 创建主键 AUTO_INCREATE 指定默认值 更新表结构 删除表,重命名表 01:表 MySQL 数据库的表是一个二维表,由一个或多个数据列构成 每个数据列都有 ...

  9. mysql约束条件整型_MySQL 表的操作

    表的操作 创建表的完整语法: create table 表名( 字段名1 字段类型[(宽度) 约束条件], 字段名1 字段类型[(宽度) 约束条件], 字段名1 字段类型[(宽度) 约束条件] ); ...

最新文章

  1. OpenCV 图像缩放
  2. mysql集群mysql-cluster安装
  3. vmware14安装macos10.12完美可升级10.13
  4. solaris系统普通用户无法执行su命令
  5. MySQL 复制 - 性能与扩展性的基石:概述及其原理
  6. 【Transformer】TransMix: Attend to Mix for Vision Transformers
  7. Python实现机房管理软件的文件分发功能
  8. oracle cloud认证费用,ORACLE Cloud 创建实例费用提问
  9. 2016.1.20 总结(for语句,选择语句和循环语句混合使用)
  10. nginx url 重写_Nginx重写URL规则示例
  11. MVVM前后分离轻量级框架应用juicer和doT.js
  12. 【数据库】mysql日期格式转换
  13. 一个初学者的计算天数的C语言代码
  14. 组态王通过Modbus TCP与ESP32通讯
  15. 三维温度场 matlab,matlab绘制温度场
  16. 【C++】数字的组合排列情况
  17. 华为在HDC2021发布全新HMS Core 6 宣布跨OS能力开放
  18. 人月神话 中文版 pdf
  19. layui制作二维码
  20. Python 之 = [:] copy deepcopy

热门文章

  1. Docker最全教程——从理论到实战(八)
  2. Pipelines - .NET中的新IO API指引(一)
  3. 简明 ASP.NET Core 手册
  4. 微软西雅图总部DevOps交流总结
  5. .NET 使用 RabbitMQ 图文简介
  6. 第四篇 Entity Framework Plus 之 Batch Operations
  7. PHP开发常见功能实现流程
  8. ArcGIS实验教程——实验十三:栅格空间插值分析
  9. Android之解决AppBarLayout 下面一道阴影
  10. WireShark抓DNS请求和回复数据报的分析