一、简单的2表关联查询,进行分组
SELECT
COALESCE (b.name, '总数') 'name',
COUNT(b.name) 'cnt'
from device a
LEFT JOIN device_type b on
a.type_id = b.id where a.del_flag=0
GROUP BY b.name WITH ROLLUP
输出结果:
计算出每个分组数据个数,
WITH ROLLUP:计算出数据条数。135为 主表总条数。
计算总数据条数:
SELECT
COUNT(*) AS totalCount
from device a
LEFT JOIN device_type b on
a.type_id = b.id where a.del_flag=0
拼接计算百分比保留2位小数
SELECT
CONCAT(
ROUND(
t1.total / t2.totalCount * 100,
2
),
'%'
) AS '各省人数百分比',t1.`name`
FROM
(
SELECT
COALESCE (b.name, '总数') 'name',
COUNT(b.name) AS total
from device a
LEFT JOIN device_type b on
a.type_id = b.id where a.del_flag=0
GROUP BY b.name
) t1,
(
SELECT
COUNT(*) AS totalCount
from device a
LEFT JOIN device_type b on
a.type_id = b.id where a.del_flag=0
) t2 ;
运行结果:
这里主要用到两个SQL的函数 ROUND和CONCAT,其他的都是比较常用的函数和语法
ROUND 主要是截取数值的小数位置,这里我保留了2位小时;
concat函数在连接字符串的时候,只要其中一个是NULL,那么将返回NULL,此处拼接数值和%
此处我的计算totalCount为表的总记录数去统计,因为我的cnt字段数量是数据分组获得。
根据你的业务需求,如过你的字段在库里有具体数值进行计算百分比,类型分组统计不变,求和用sum函数求该字段之和。*
题目描述:n 只奶牛坐在一排,每个奶牛拥有 ai 个苹果,现在你要在它们之间转移苹果,使得最后所有奶牛拥有的苹果数都相同,每一次,你只能从一只奶牛身上拿走恰好两个苹果到另一个奶牛上,问最少需要移动多少次可以平分苹果,如果方案不存在输出 -1。输入描述:每个输入包含一个测试用例。每个测试用例的第一行包含一个整数 n(1 <= n <= 100),接下来的一行包含 n 个整数 ai(1...
为什么80%的码农都做不了架构师?>>> ...
这是根据多篇文章整理的文件,仅供参考!一)、整体框架我们先整体的介绍下上图中各层主要的功能1)、Conv layers提取特征图:作为一种CNN网络目标检测方法,Faster RCNN首先使用一组基础的conv+relu+pooling层提取input image的feature maps,该feature maps会用于后续的RPN层和全连接层2)、RPN(Regio...
#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;#include &lt;cstdlib&gt;#include &lt;string.h&gt;#include &lt;SDKDDKVer.h&gt;#ifndef _UNISTD_H#define _UNISTD_H#include &lt;IO.H&gt;#include &lt;PROCES...
程序非阻塞模式,这里也可以理解成并发。而并发又暂且可以分为网络请求并发 和本地并发 。先说一下网络请求并发理论描述假设有一个client,程序逻辑是要请求三个不同的server,处理各自的响应。传统模型当然是顺序执行,先发送第一个请求,等待收到响应数据后再发送第二个请求,以此类推。就像是单核CPU,一次只能处理一件事,其他事情被暂时阻塞。而并发模式可以让三个server同时处理各自请求,这就可以使...
background: -webkit-gradient(linear, 0 0, 0 100%, from(#80c1e7), to(#213c7c));background: -webkit-linear-gradient(top,#34a496,#f6ff92);background: -moz-linear-gradient(top,#34a496,#f6ff92);backgroun
<?phpini_set("session.save_handler", "memcache");ini_set("session.save_path", "tcp://localhost:11211");session_start();header("Content-type:text/html;charset=utf-8");$_SESSION['view'] = 'zhangsan
为什么80%的码农都做不了架构师?>>> ...
An easy problemTime Limit: 1 Sec Memory Limit: 256 MB题目连接http://acm.hdu.edu.cn/showproblem.php?pid=5475DescriptionOne day, a useless calculator was being built by Kuro...
Android之Rxjava2.X 7————Rxjava 条件操作符一. 目录Android之Rxjava2.X 7————Rxjava 条件操作符一. 目录二. 概述1.作用2.类型三. 具体操作符详解1.all()2.takeWhile()3.skipWhile()4.takeUntil()5.skipUntil()6.SequenceEqual()...
我配tftp想下载u-boot.bin到NandFlash。我的Fedora14是跑在win7 PC 上的virtualbox虚拟机上的。win7PC与开发板通过一根网线直连。此时问题出来了:我不明白Fedora14怎么通过VBox使用win7的网卡继而与开发板建立tftp服务。不明白网络相关的知识,有没有相关的教材?谢谢!不是请问简单的tftp的下载,配置,启动等问题,而是想知道如何设置ip
jni和java之间字符串的转换