gpt4 book ai didi

真实列的 SQL 百分比

转载 作者:行者123 更新时间:2023-12-03 16:13:27 32 4
gpt4 key购买 nike

我有一个表,其中每一行都有一个描述字段和一个 bool 值。我正在尝试编写一个查询,我可以在其中按每个相应的描述进行分组,并查看 bool 值为真的次数百分比。

示例表:

    PID    Gender    SeniorCitizen
1 M 1
2 M 1
3 F 0
4 F 1
5 M 0

我想要一个返回这个的查询:
    Gender    SeniorPct
M .66
F .50

我已经到了可以计算男性或女性的个人百分比的查询的地步 - 但我想同时看到两个结果
    SELECT Gender, COUNT(*) * 1.0 / 
(SELECT COUNT(*) FROM MyTable WHERE Gender='M')
FROM MyTable WHERE Gender='M' and SeniorCitizen=1;

我一直试图在上面的外部 SELECT 中包含一个“GROUP BY Gender”语句,但我似乎无法弄清楚如何在调整外部 SELECT 之后调整内部 SELECT 以获得正确的结果。

最佳答案

(我在 MySQL 下测试过,请检查是否可以将相同的想法应用于 SQLite。)

要找到老年人的数量(按性别),我们可以将这些位视为数字并简单地将它们相加:

SELECT
Gender,
SUM(SeniorCitizen) Seniors
FROM MyTable
GROUP BY Gender

GENDER SENIORS
M 2
F 1

基于此,我们可以轻松计算百分比:
SELECT
Gender,
SUM(SeniorCitizen) / COUNT(*) * 100 SeniorsPct
FROM MyTable
GROUP BY Gender

GENDER SENIORSPCT
M 66.6667
F 50

你可以在这个 SQL Fiddle 玩它.

更新:非常相似的想法也适用于 SQLite。请看另一个 SQL Fiddle .

关于真实列的 SQL 百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11111744/

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