SQL - 将来自同一数据集的数据与特定列中的匹配值分开

布尔

我试图在满足特定条件的数据集中找到女性的比例:公司 ID、工作类别、性别、时间范围、州 ID 和州种类。为了做到这一点,我必须将符合此标准的女性总数除以符合标准的男性和女性总数。我目前正在查询数据以查找来自公司 20 的 # 女性,在工程中,从所有时间开始,种类和 id = 0 并将其除以符合该标准的男性和女性总数:

/* number of females in eng. jobs */
(SELECT 1.0*sum(hiring_sample_count) 
FROM metrics m
JOIN category c ON
m.job_id = c.job_id
AND m.company_id = 20
AND c.standard_job_cat = 'Engineering'
AND dimension_value = 'Female'
AND time_frame = 'ALLTIME'
AND state_kind = 0
AND state_item_id =0) /
/* number of m+f in eng */
(SELECT sum(hiring_sample_count) 
FROM metrics m
JOIN category c ON
m.job_id = c.job_id
AND m.company_id = 20
AND c.standard_job_cat = 'Engineering'
AND (dimension_value = 'Female' 
  OR dimension_value = 'Male')
AND time_frame = 'ALLTIME'
AND state_kind = 0
AND state_item_id =0))

问题是我想为数据集中所有工作类别、种类和 ID 的所有公司计算这个。我不确定如何在没有自己指定的情况下执行此操作,并且想知道是否有人可以提供帮助。我正在使用 SQLWorkbench,它是一个独立于 DBMS 的跨平台 SQL 查询工具。我将不胜感激(我没有使用 TSQL 或 PL/pgSQL)。

也为格式道歉。

亚历克斯是的

您需要按要确定女性百分比的列列表进行分组,它将分别生成计数。计数本身是由条件聚合产生的:

SELECT
 m.company_id
,c.standard_job_cat
,time_frame
,state_kind
,state_item_id
,sum(case when dimension_value = 'Female' then hiring_sample_count else 0 end) as females
,sum(hiring_sample_count) as total
,1.0*sum(case when dimension_value = 'Female' then hiring_sample_count else 0 end)/sum(hiring_sample_count) as female_proportion
FROM metrics m
JOIN category c 
ON m.job_id = c.job_id
GROUP BY 1,2,3,4,5
ORDER BY 1,2,3,4,5;

1.0*添加是为了避免整数除法,femalestotal列只是为了感知上下文

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将sql列值附加到从同一数据集获得的另一列内容写入的文件的文件名中

来自分类Dev

如何使用解析窗口SQL函数在同一数据集的行组中查找id值

来自分类Dev

如何使用解析窗口SQL函数在同一数据集的行组中查找id值

来自分类Dev

通过在同一数据库中输入指定表的特定行来创建新的sql表

来自分类Dev

SQL Server 2008比较同一数据库中的两个表,并更改get列

来自分类Dev

在SQL Server 2008的同一数据库中复制表,然后更新内容

来自分类Dev

将来自SQL Server查询的数据转置为列

来自分类Dev

在一个查询中显示来自同一数据集的不同值

来自分类Dev

将来自SQL的检索数据显示为android中的表

来自分类Dev

SQL按行将列值分开(数据透视)

来自分类Dev

合并来自同一SQL数据库中不同表的数据以及表名

来自分类Dev

SQL匹配同一表上的确切数据集

来自分类Dev

如何在SQL查询中获取唯一数据?

来自分类Dev

熊猫将列值匹配到同一数据框中的多个列

来自分类Dev

SQL-比较来自同一表的数据

来自分类Dev

SQL - 传输表(?)唯一数据

来自分类Dev

从 SQL 查询中获取特定的列值/数据

来自分类Dev

SQL Server与来自同一Azure SQL SERVER的不同Azure SQL数据库中的两个表合并

来自分类Dev

Android Room:如何将来自多个SQL查询的数据合并到一个ViewModel中

来自分类Dev

SQL交叉匹配来自不同列和行的数据

来自分类Dev

合并熊猫中同一数据框内的列值

来自分类Dev

迭代比较同一数据框中的列值

来自分类Dev

比较同一数据框列中的值

来自分类Dev

如何根据同一数据库中另一个表的条件更新sql数据库表

来自分类Dev

SQL中的列匹配数据功能

来自分类Dev

连接到SQL Server;连接到同一数据库的两个网站

来自分类Dev

SQL使用多个查询从同一表中获取多个值(来自同一列)

来自分类Dev

使用同一张表中的一列数据比较一列SQL

来自分类Dev

如何更改特定列的特定行的值,以及在同一数据框中以熊猫为单位的特定行的值

Related 相关文章

  1. 1

    将sql列值附加到从同一数据集获得的另一列内容写入的文件的文件名中

  2. 2

    如何使用解析窗口SQL函数在同一数据集的行组中查找id值

  3. 3

    如何使用解析窗口SQL函数在同一数据集的行组中查找id值

  4. 4

    通过在同一数据库中输入指定表的特定行来创建新的sql表

  5. 5

    SQL Server 2008比较同一数据库中的两个表,并更改get列

  6. 6

    在SQL Server 2008的同一数据库中复制表,然后更新内容

  7. 7

    将来自SQL Server查询的数据转置为列

  8. 8

    在一个查询中显示来自同一数据集的不同值

  9. 9

    将来自SQL的检索数据显示为android中的表

  10. 10

    SQL按行将列值分开(数据透视)

  11. 11

    合并来自同一SQL数据库中不同表的数据以及表名

  12. 12

    SQL匹配同一表上的确切数据集

  13. 13

    如何在SQL查询中获取唯一数据?

  14. 14

    熊猫将列值匹配到同一数据框中的多个列

  15. 15

    SQL-比较来自同一表的数据

  16. 16

    SQL - 传输表(?)唯一数据

  17. 17

    从 SQL 查询中获取特定的列值/数据

  18. 18

    SQL Server与来自同一Azure SQL SERVER的不同Azure SQL数据库中的两个表合并

  19. 19

    Android Room:如何将来自多个SQL查询的数据合并到一个ViewModel中

  20. 20

    SQL交叉匹配来自不同列和行的数据

  21. 21

    合并熊猫中同一数据框内的列值

  22. 22

    迭代比较同一数据框中的列值

  23. 23

    比较同一数据框列中的值

  24. 24

    如何根据同一数据库中另一个表的条件更新sql数据库表

  25. 25

    SQL中的列匹配数据功能

  26. 26

    连接到SQL Server;连接到同一数据库的两个网站

  27. 27

    SQL使用多个查询从同一表中获取多个值(来自同一列)

  28. 28

    使用同一张表中的一列数据比较一列SQL

  29. 29

    如何更改特定列的特定行的值,以及在同一数据框中以熊猫为单位的特定行的值

热门标签

归档