是否可以根据文本函数在 sql 中进行计数?我想计算邮政编码的实例(类型为DECIMAL
),但是,有些行有 5 位邮政编码,而其他行有 9 位邮政编码。
我目前的查询:
select patzip, count(patzip) as zip_count
from patdemo_t
where patstate='KY'
group by patzip
order by zip_count desc
是否可以根据文本函数在 sql 中进行计数?我想计算邮政编码的实例(类型为DECIMAL
),但是,有些行有 5 位邮政编码,而其他行有 9 位邮政编码。
我目前的查询:
select patzip, count(patzip) as zip_count
from patdemo_t
where patstate='KY'
group by patzip
order by zip_count desc
更新
SELECT SUBSTRING(CONVERT(VARCHAR(9),patzip), 1, 5) zip, COUNT(*) zip_count
FROM patdemo_t
WHERE patstate = 'KY'
GROUP BY SUBSTRING(CONVERT(VARCHAR(9), patzip), 1, 5)
ORDER BY zip DESC
样本输出:
| 邮编 | ZIP_COUNT | --------------------- | 41017 | 2 | | 41016 | 1 |
这是SQLFiddle演示