如何使用SQL(postgresql)计算百分比?
假设我们有一个表crime,它有两列activitydatetimestamp,没有时区和zipcodecharacter varying5 例如: 表1.犯罪:如何使用SQL(postgresql)计算百分比?,sql,postgresql,Sql,Postgresql,假设我们有一个表crime,它有两列activitydatetimestamp,没有时区和zipcodecharacter varying5 例如: 表1.犯罪: activity date zipcode 2014-11-22 00:52:00 12345 2014-10-22 00:52:00 12345 2014-10-24 00:52:00 12345 2014-12-22 00:52:00
activity date zipcode
2014-11-22 00:52:00 12345
2014-10-22 00:52:00 12345
2014-10-24 00:52:00 12345
2014-12-22 00:52:00 54321
...
给定开始日期、结束日期和邮政编码,如何计算在给定时间段内犯罪率高于当前邮政编码的邮政编码的百分比?以下是一种快速而令人讨厌的方法,可以获得比提供的邮政编码计数更大的邮政编码计数。然后,您可以使用它来获得百分比。不过,可能有一种更有效的方法来实现这一目标
SELECT COUNT(zipcode) as numberAbove
FROM (SELECT
zipcode
FROM
crime
WHERE
activitydate >= '<START DATE>'
AND
activitydate < '<END DATE>'
GROUP BY
zipcode
HAVING
COUNT(zipcode) > (select COUNT(zipcode)
from crime
where zipcode = '<ZIP CODE TO USE>'
and activitydate >= '<START DATE>'
and activitydate < '<END DATE>' )) subq;
sqlfiddle=如果没有SQL,您会怎么做?只需将其写在文本中,然后转换为SQL。