计算每个 DISTINCT 的所有行

Mar*_*yes 1 postgresql query count distinct

如何计算 WHERE 语句的所有行:

SELECT DISTINCT column1 FROM table COUNT WHERE date::text LIKE '%2014%';
Run Code Online (Sandbox Code Playgroud)

我的输出:

column1
=======
info1
info2
info3
Run Code Online (Sandbox Code Playgroud)

期望输出:

column1|number_of_rows
=====================
info1  | 2000
info2  | 1500
info3  | 1000
Run Code Online (Sandbox Code Playgroud)

你能支持我吗 如何改进它?

提前致谢。

McN*_*ets 5

在这种情况下,您可以使用GROUP BY来获取不同的 column1 值,而不是将日期转换为文本,您可以为此使用EXTRACT函数。

select 
    colum1, 
    count(*) as number_of_rows
from 
    your_table
where 
    extract(year from date) = 2014
group by 
    column1;
Run Code Online (Sandbox Code Playgroud)