我是SQL的新手。我有一个表,它有数十亿条记录,有多个列,比如说a,b,c,d,e,f。
我想为具有特定条件的每一列创建一个记录数量查询,下一列是记录总数的百分比,然后是具有相同条件的b、c、d和e列。我希望在一行中获得查询的输出。
因此,对于列a,我想要的查询是这样的:
select count(a) from table 1
where a >0 and date > '2020-01-01'
下一列将显示上述结果占使用如下查询的记录总数的百分比
select count(*) from table 1
where date >'2020-01-0
我有以下查询,它试图计算出某个产品占产品总数的百分比。例如:产品数量/产品总数=百分比
;WITH totalCount AS(
SELECT
CAST(COUNT(id) as Integer)as totalCount
FROM TABLE_NAME
)
SELECT
((CAST(COUNT(DISTINCT id) as Integer)/(SELECT * FROM totalCount))*100) as 'Percent'
FROM TABLE_NAME
但是,除非只有一条记录,否则percent列始终返回"0“
我想创建一个dataframe,将前一个数据库中的数字显示为每行总数的百分比:
date a b
06-13 249.0 298.0
06-14 238.0 277.0
06-15 4.0 8.0
06-18 302.0 384.0
06-19 270.0 318.0
以上面的例子为例,我希望06-13行包含249作为249+298的百分比等
我尝试过使用.apply(lambda x: 100*x/x.sum()),但它显示了数字占总数的百分比(包括给定数字上下的其他行)
这是我想要的输出:
date a b
0
我得到了一个输出下表的查询:
(0) Age <= 19----------76-------0.12
(1) Age 20 – 24--------661------1.06
(2) Age 25 – 29-------4060------6.53
(3) Age 30 – 34-------7231------11.64
(4) Age 35 – 39-------9281------14.94
(5) Age 40 – 44-------9539------15.35
Total ----------------30848 -----49.65
第一列是特定
我正在做GROUP BY和COUNT( * ),我想计算每个组占总数的百分比。 例如,在这个查询中,我想知道计数( )表示超过总数( select count( 来自publicdata:samples.natality ): SELECT state, count(*)
FROM [publicdata:samples.natality]
GROUP by state 在SQL中有几种方法可以做到这一点,但我还没有找到在Bigquery中做到这一点的方法,有人知道吗? 谢谢!