sql-server - 计算和合并行

标签 sql-server tsql

我有一个表,通过将国家/地区代码添加到每行的“国家/地区代码”列来记录 Web 应用程序中的用户位置。每行代表对特定区域的访问。

所以我有一些数据,例如

COL1    COL2    COL3    countrycode
asd     asd     asd        NZ
asd     asd     asd        NZ
asd     asd     asd        NZ
asd     asd     asd        US
asd     asd     asd        US

我想要做的是查询这个表并显示如下内容

Country    Count
   NZ        3
   US        2

但我需要它能够为出现的更多国家/地区代码添加一行。我无法弄清楚如何做到这一点,我知道我需要以某种方式使用 COUNT() 函数......

最佳答案

要获取示例输出,您可以使用 GROUP BYCOUNT()

SELECT Country, COUNT(*)
FROM myTable
GROUP BY Country 

COUNT(*) 将计算每一行,GROUP BY Country 将按国家/地区拆分结果。结果将根据表中的数据是动态的,因此如果您在表中添加更多不同国家/地区的记录,则无需更改查询。

参见Group By in Books online

关于sql-server - 计算和合并行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8782434/

相关文章:

sql-server - 在新创建的表中插入日期

sql-server - 获取 SQL-Server 还原作业的进度状态时出现问题

asp.net - ASP.NET 应用程序指向错误数据库的问题

sql-server - 使用 SQL 生成 XML 的最佳方式

sql - 获取在 2 列中具有相同值但在第 3 列中具有不同值的记录

sql - 何时创建新的 SQL Server 索引?

sql-server - T-SQL : Cannot perform an aggregate function on an expression containing an aggregate or a subquery

sql-server - 使用 SQL 项目的 TFS 2012 进行部署不包括部署后脚本

.net - SQL 查询将文本数据存储在 Varbinary(max) 中

sql - T-SQL XQuery 用于为每个嵌套元素的每个匹配的 XML 值返回一个结果行