gpt4 book ai didi

mysql - 从一列中获取百分比

转载 作者:行者123 更新时间:2023-11-29 04:40:00 25 4
gpt4 key购买 nike

我想获取每家公司的勤奋员工百分比,但我不知道如何获取。例如:

谷歌 -> 66%
微软 -> 33%

基于此数据库:

CREATE TABLE a_test
(id int ,`business` varchar(25),`name` varchar(25) , `hard_worker` int);
INSERT INTO a_test (id, business, name, hard_worker)
VALUES (1, 'Google', 'Tom Rudhot', '1'),
(2, 'Microsoft', 'Thomas Carpenter', '0'),
(3, 'Google', 'Peter Butcher', '1'),
(4, 'Microsoft', 'Sookie Page', '0'),
(5, 'Microsoft', 'Roonie Redneck', '1'),
(6, 'Google', 'Robbyn Stackhouse', '0');

http://www.sqlfiddle.com/#!9/33fed/1

最佳答案

试试这个 ( fiddle) :

SELECT
business,
100 * count(*)
/ (select count(*)
FROM a_test
where hard_worker = 1)
FROM a_test
where hard_worker = 1
group by business

编辑:

上一个查询返回公司的勤奋工作人员占所有勤奋工作人员的百分比。

但您似乎希望每家公司的所有员工都努力工作。这要容易得多:

SELECT
business,
100 * sum(case when hard_worker = 1 then 1 end) -- hard workers
/ count(*) -- all workers
FROM a_test as t1
group by business

根据您的 0/1 实现,您可以简单地使用

   100 * sum(hard_worker)
/ count(*) -- all workers

关于mysql - 从一列中获取百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31721286/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com