计数和组合行

2021-09-10 00:00:00 tsql sql-server

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

I have a table that is recording user locations from my web application by adding a country code to the 'countrycode' column of each row. Each row is representing a visit to a particular area.

所以我有一些数据,比如

So I have some data like

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

我想要做的是查询这个表并在下面显示类似这样的内容

What I want to do is to query this table and show me something like this below

Country    Count
   NZ        3
   US        2

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

But I need it to be able to add a row for any more country codes that have come up. I cant get my head around a way to do this, I know I need to use the COUNT() function somehow...

推荐答案

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

To get your example output, you can use GROUP BY and COUNT()

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

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

COUNT(*) will count ever row and GROUP BY Country will split the results out by Country. The results will be dynamic based on the data in the table so you don't need to change your query if you add more records in the table with different countries.

请参阅在线图书分组依据

相关文章