簡體   English   中英

獲取列中每個唯一值的百分比(mySQL)

[英]Get percentage of each unique value in column (mySQL)

我正在嘗試提出一個查詢,該查詢將查找特定列中的所有唯一值,然后計算每個唯一值的實例數並返回該計數以及每個唯一值與值總數的百分比.

這是我所擁有的,但它不起作用,因為它只給了我第一個獨特的項目,而不是所有可能的選項。

select 
`column1`
, ROUND( 
        (count(`column1`)* 100 / (select count(*) from full_db3 
where `exuid` in ('e7dfb4dd-0cd2-44df-bd35-6ecc9a061756','56baea00-253b-428e-88fc-9969688ea9c8'))
      ), 2)
  as Percentage
from full_db3 where `exuid` in ('e7dfb4dd-0cd2-44df-bd35-6ecc9a061756','56baea00-253b-428e-88fc-9969688ea9c8')

現在這給我的是column1的第一個唯一值, Percentage為 100%。

我將動態傳入exuid值,所以它總是一個不同的數字,所以要么我必須在傳遞它之前計算我傳遞給它的值的數量,要么查詢必須在某處計算它們. 也不太確定該怎么做。

您需要按您想要計數的列進行分組。 然后使用子查詢將該數字除以表中的總行數:

select columnA, count(*), (COUNT(*) / (SELECT COUNT(*) FROM myTable)) * 100 FROM myTable group by columnA;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM