mysql 两表查询 根据user表查询出user用户的审核统计

做一个每个老师的审核统计

一、表结构

1.wx_log表:user_id,login_name,password,username等字段,
2.wx_user表:log_id,user_id,act_name等字段,
两表查询,wx_user.user_id = wx_log.act_user_id

二、sql

select a.login_name,a.user_name,a.update_time,b.totalnum,b.refuse,CONCAT(CAST((b.totalnum-b.refuse)/(b.totalnum)*100 AS DECIMAL(18,2)),'%') per from wx_user a 
	left join (
	select 
		a.act_user_id,
		COUNT(if(a.act_name='审核通过' or a.act_name='审核驳回',true,null )) totalnum,
		COUNT(if(a.act_name='审核驳回',true,null )) refuse 
	from wx_log a where act_is_exception!=1 group by a.act_user_id) b 
on a.user_id=b.act_user_id

三、效果

用户名到最近登陆时间是user表的固定字段,后面三个是同log表算出来的

四、详细表字段

1.log表

CREATE TABLE `wx_log` (
  `log_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `act_user_id` int(11) DEFAULT NULL COMMENT '用户表主键ID',
  `act_name` varchar(200) DEFAULT NULL COMMENT '操作功能名称',
  `act_content` text COMMENT '操作内容',
  `act_is_exception` char(1) DEFAULT NULL COMMENT '是否异常:0,否(默认)/1,异常',
  `act_exception_con` text COMMENT '异常信息',
  `act_time` datetime DEFAULT NULL COMMENT '操作时间',
  PRIMARY KEY (`log_id`)
) ENGINE=InnoDB AUTO_INCREMENT=547 DEFAULT CHARSET=utf8;

2.user表

CREATE TABLE `wx_user` (
  `user_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `login_name` varchar(100) DEFAULT NULL COMMENT '登录用户名',
  `password` varchar(100) DEFAULT NULL COMMENT '登录密码',
  `user_status` varchar(1) DEFAULT NULL COMMENT '用户状态:0,正常/1,停用',
  `phone_num` varchar(20) DEFAULT NULL COMMENT '手机号',
  `user_name` varchar(200) DEFAULT NULL COMMENT '使用人名称',
  `update_time` datetime DEFAULT NULL,
  `create_time` datetime DEFAULT NULL,
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=73 DEFAULT CHARSET=utf8;
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值