Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
341 views
in Technique[技术] by (71.8m points)

sql - How to percentage for unique count of string in redshift?

I have my data in the below format:

TASK, STATUS
MKw11sk, OPEN
JIKL, CLOSED
pp,DELETED
qwert,PRESENT
DDF,OPEN

I am trying to find the percent by status. i wants to know the percentage for status column

i'm newbie to this! Normally i can calculate percentage for integer type values and i dont have to calculate this unique count of string

question from:https://stackoverflow.com/questions/65599615/how-to-percentage-for-unique-count-of-string-in-redshift

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Was the question What is the percentage for each status value in the table? You can use window function and get the correct value for each row, like this:

with input (TASK, STATUS) as (
SELECT 'MKw11sk', 'OPEN' UNION ALL
SELECT 'JIKL', 'CLOSED' UNION ALL
SELECT 'pp', 'DELETED' UNION ALL
SELECT 'qwert', 'PRESENT' UNION ALL
SELECT 'DDF', 'OPEN'
    )
select *,
   count(STATUS) over (partition by STATUS) * 100 / count(STATUS) over () as status_percent
from input;

returns

task status status_percent
JIKL CLOSED 20
MKw11sk OPEN 40
DDF OPEN 40
qwert PRESENT 20
pp DELETED 20

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...