如何在表格中选择不同的值及其用法?

时间:2011-09-13 00:24:10

标签: sql

我只有一列。我需要有关它的价值和使用情况的统计数据:

Value | Count
-----------------
NULL  |   41 (91%)
''    |   3  (3%)
'FOO' |   2  (2%)
'BAR' |   1  (1%)

另外,我需要对数据库中的每一列执行此类查询。是否可以帮助我处理此类报告?我询问Postgresql / Mysql。

2 个答案:

答案 0 :(得分:0)

救援的公用表表达式(在PostgreSQL 9上测试):

WITH a AS (SELECT COUNT(*) AS max FROM t)
SELECT v, COUNT(v), (COUNT(v)::FLOAT / a.max) * 100
  FROM t, a
 GROUP BY v, a.max
 ORDER BY COUNT(v) DESC;

答案 1 :(得分:0)

select value , count(*) from table 
group by value 

将[{1}}替换为您的表名,将table替换为您的列名

百分比:

value
相关问题