我已经将结果查询到一个行表中,并需要在后续计算中获得该结果。以下是不起作用的简化示例(只是为了描述我正在尝试实现的目标):
SELECT amount / (SELECT SUM(amount) FROM [...]) FROM [...]
我尝试了一些嵌套的子选择和连接(一个行表与另一个表的交叉连接),但没有找到任何可行的解决方案。有没有办法让它在BigQuery中正常工作?
谢谢,Radek
编辑:
好的,我找到了解决方案:
select
t1.x / t2.y as z
from
(select 1 as k, amount as x from [...] limit 10) a
在BigQuery中,我在使运行总计对我来说很困难。
我在这里找到了一个有用的例子:
SELECT word, word_count, SUM(word_count) OVER(ORDER BY word DESC)
FROM [publicdata:samples.shakespeare]
WHERE corpus = 'hamlet'
AND word > 'a' LIMIT 30
但我真正想做的是,计算占word_count总数80%的最受欢迎单词的数量。因此,我试图计算运行总数,同时先通过word_count进行排序:
SELECT word,
我有一条SQL语句,它计算结束日期为null的活动包的总行数。我目前正在使用(x/y) * 100完成此操作
SELECT (SELECT COUNT(*)
FROM packages
WHERE end_dt IS NULL) / (SELECT COUNT(*)
FROM packages) * 100
FROM DUAL;
我想知道是否有一种方法可以使用任何Oracle函数来更容易地表达这一点?
假设您有表T(C1,C2,C3),并且有一组C1,V={v1,v2,v3...}的有效值。现在,在不使用游标的情况下(即完全停留在基于集合的逻辑的域中),您希望查看v1类型的行占多大比例,v2类型的行占多大比例,v3类型的行占多大比例等等-而不必为每个有效值编写一个case if。因此,对于C1中的每个不同的有效值,在结果集中显示类型V行的排序频率和相应的值(即v1、v2、v3...)。PL/SQL中的查询是什么?
编辑:计数很简单:
select count(*) count, c1 from T group by c1 order by count
但是,如果您想要显示频率比例呢?
嗨,我正在使用Oracle SQL Developer,并试图在我的表中获取百分比。
我目前的查询是:
select
decode(grouping(life), 1, 'Total', life) as "LifeName",
sum(case
when task is not null and to_char(datee, 'MM') = '08'
and to_char(datee, 'YYYY') = '2013'
the
我试着根据每门学科的学生总数和年级分布来计算百分比。
我的表中有以下字段:
学生身份证
学期,
课程
最终等级
我编写了下面的查询,以获得每个课程和每个年级的总数。
select distinct Count( StudentID ) as "Total",
COURSE,FINAL_GRADE,subject,from table
where term in('2000200')
and subject in ('ENG111','ENG112,'ENG121
我是SQL的新手,我尝试使用子查询来得出列的“运行%”,但在标题中看到错误。 我的表结构如下: col_name, value1
a 6
b 5
c 4
d 3
e 2
f 1 我需要添加% Total & cumulative %,这样它看起来就像: col_name, value1, % Total , cumulative %
a 6 28.5% 28.5%
b 5 23.8%
例如,如果我有一个代表Y或N标志的列,Y是多少百分比,N是多少百分比?我知道我可以编写一个查询来查找每个数字,然后自己计算百分比,但我认为在PL/SQL语言中使用这样的分析函数来计算百分比应该很简单。
SELECT COUNT(1), enabled_flag
FROM widgets
GROUP BY enabled_flag;
给了我:
COUNT(1) | enabled_flag
123124 | Y
234234 | N
我需要:
enabled_flag | percentage
Y | 34
N |
我想要计算指定字段的比率,我知道在遗留的sql中我可以使用RATIO_TO_REPORT函数ex:
SELECT
month,
RATIO_TO_REPORT(totalPoint) over (partition by month)
FROM (
SELECT
format_datetime('%Y-%m', ts) AS month,
SUM(point) AS totalPoint
FROM
`userPurchase`
GROUP BY
month
ORDER BY
month )
但是我想得到由没有分区的
我正在尝试计算一个列占第二个合计列的百分比。 我写道: create temporary table screenings_count_2018 as
select guid,
datepart(y, screening_screen_date) as year,
sum(case when screening_package = 4 then 1 end) as count_package_4,
sum(case when screening_package = 3 the
我不明白如何在BigQuery遗留SQL中计算百分比。所以,我有张桌子
ID | Name | Group | Mark
1 | John | A | 10
2 | Lucy | A | 5
3 | Jane | A | 7
4 | Lily | B | 9
5 | Steve | B | 14
6 | Rita | B | 11
我想像这样计算百分比:
ID | Name | Group | Mark | Percent
1 | John | A | 10 | 10/(10+5+7)=45%
我有一个查询(为Oracle格式化):
select sum(inv.quantity * inv.price), spn.salesperson_name
from invoice inv
inner join salesperson spn on spn.spn_id = inv.spn_id
where inc.invoice_date between to_date('05/01/2017', 'MM/dd/YYYY') and to_date('05/31/2017', 'MM/dd/YYYY')
group by s
我有一个查询的输出数据,例如
ID | Type | Date
321 Car 2/2/12
443 Truck 4/4/21
444 Car 4/3/21
639 Truck 3/5/21
211 Car 3/4/21
如何添加外部查询,以便根据Type列计算该列中每个值的%?
Desired Output:
Type | %
Car .6
Truck .4
我需要计算一个特定的部门,即国内公司,按地区划分的总销售额百分比。
我的疑问是
select REGION_NAME,
round(ratio_to_report(nvl(sum(gross_sales_amt_t),0)) over ()*100) as Gr_Sales_domcorp
from fact_mfdex_segment A
JOIN dim_location B
ON a.branch_code = b.branch_code
WHERE to_date(DATE_SK,'YY
我有一项任务,要计算部门中最小的工资,以及它从总工资中占多少%。另外,我只能使用一个select语句和(可能是),我需要使用窗口函数。
我就是这样开始的:
SELECT distinct department_id,
min(salary) over(partition by department_id) as min_sal
FROM employees;
但是如果我使用RATIO_TO_REPORT函数,它将显示所有表,而不是按department_id分组。
我试图设置一个查询,根据商店编号、客户部分和品牌分组来聚合销售总额%。理想情况下,我希望得到如下结果:
Store --------Segment-------Brand------Sales--------pct_total
1 A X 50 66.6
1 A Y 25 33.3
1 B X 25 25.0
试图找到持有任何一家公司超过0.5%股份的所有股东这里是我的疑问,我相信我也很接近,所附图像具有模式
![Select Sh.Share_Holder_Id Shareholderid,
Sh.First_Name||' '||Sh.Last_Name Shareholders,
c.name,
sum(T.Share_Amount) ShareAmount
From Trades T
Inner Join
Share_Holders Sh
On
T.Sh
在下面的查询中,我得到产品名称、产品中每一项的数量以及每个购买该产品的客户的数量,然后计算购买该产品的客户百分比。我是硬编码的价值,总独特的客户。我想知道如何在我的查询中动态地结合这一点。基于购买日期的加入是我脑海中唯一的解决方案。还有别的方法可以实现这一点吗?
以下查询
(SELECT ProdName, COUNT(ProdName) AS No_of_Prods,
EXACT_COUNT_DISTINCT(cust) as No_of_cust,
(EXACT_COUNT_DISTINCT(cust)/1500)*100 as Percentage_of_cust
FROM
我有一个b/m查询,它根据记录的状态(SLABREACHED,WithInSLA)来计算记录的数量和分组。 select count(*) as Total,case when SLABREACHED=0 then 'WithInSLA'
when SLABREACHED=1 then 'SLABREACHED' end as SLABREACHED
from mwp_main
where problemsince >= current timestamp - 7 days and problemsince < current timestamp
我有下表和数据:
mytable (国家、性别):
+----------+----------+
| country | gender |
+----------+----------+
| China | male |
+----------+----------+
| China | female |
+----------+----------+
| China | male |
+----------+----------+
| China | male |
+----------+----------+
| Russia
下面的查询示例显示了我希望获取的查询的实际结果。我想知道是否有更好/更有效的方式来写它:
with x as
(select 'A' institution, 100 value_x, 40 value_y from dual union all
select 'B' institution, 200 value_x, 70 value_y from dual union all
select 'C' institution, 10 value_x, 95 value_y from dual)
select
institution,
case
我正在尝试获取一组特定值所占行数的百分比。最好用例子来解释。我可以非常简单地使用ratio-to-report函数和over()按列完成此操作,但我遇到了多个分组的问题
假设表有2列:
column a column b
1000 some data
1100 some data
2000 some data
1400 some data
1500 some data
使用下面的查询,我可以获得这个域集,每个域集是总行的20%
select columna,
我有一个疑问:
select t.cod_provincia as prov, COUNT(t.cod_provincia) as conto
from clienti t
where t.data_ins between to_date(&da_data,'ddmmrr') and to_date(&a_data,'ddmmrr')
and t.cod_iso='ITA'
group by t.cod_provincia
它回来了
现在,我想要一个新的col来查看每一行的CONTO值的百分比。我能做吗?对于每一行,我
我正试图为一个客户建立一个报告。我需要显示Tab1、Col1 (验证表)中的所有值、每次发生的次数以及总数的百分比。我要找的是:
Number of records Type Percentage of total
2 A 2
3 B 3
0 C 0
我有基本的查询,我只是不知道如何包括零计数!到目前为止,我的情况如下:
select count(b.Col1) "Num
嗨,我正试着按组捕获计数,但我需要的组是从我想知道如何实现这一点的案例声明的人工列,下面是我正在使用的sql代码,这可以使用WITH CTE吗?或者有什么最简单的方法,下面是查询以及现有的结果和预期的结果
db - Oracle DB 11g
查询
SELECT DISTINCT
EA.TGT_TBL,
REGEXP_SUBSTR(EA.TGT_TBL, '[0-9]+') AS SYSTEM_ID,
COUNT(*),
ROUND(100*RATIO_TO_REPORT(COUNT(*)) OVER (), 2) PERCENTAGE,
CASE WHEN EA.TGT_TB
我正在使用sql developer,我想:
将薪资总额添加到最后一行
百分比在新列中,它应该显示100%中每个员工的百分比。
怎么做?
select name ,sal from(
select last_name name,salary sal from employees e
where rownum <=5
)
希望产出如下:
我有一个场景,我需要显示每日交易和总交易与日期和其他字段,如类型,产品等。一旦我有这一点,主要要求是获得该月总的每日百分比,下面是它的一个例子。1月1日3笔交易,1月1日合计257,1月1日百分比为(3/257)*100,同样10为2月2日,百分比为(10/257),依此类推。有没有人能帮我处理sql查询?
Date Type Transaction Total_For_month Percentage
1/1/2017 A 3 257 1%
1/2/2017 B 10 257 4%
1/3/2017 A 5 257 2%
1/4/2017
我正在尝试编写一个按类别聚合列的查询,然后从总类别中查找该类别的百分比
WITH USERS_ENERGY AS
(SELECT D.REGION_ID,E.YEAR_DESC,HOME_TYPE_ID,OWNERSHIP_TYPE_ID,B.ELECTRICITY_TYPE_KEY,SUM(WEIGHT_FINAL) HH_BY_ELECTRICITY_TYPE
FROM
R_FACT_HOUSING_UNIT B
JOIN
RR_DIM_SAMPLE C ON B.SAMPLE_FORM_ID=C.SAMPLE_FORM_ID
JOIN
R_DIM_PLACES D ON C.FR