SQL-为表中的两个不同值返回一条记录
选择国家名称和客户数量,前提是英国和英国应被视为同一国家。 客户(国家、客户ID)SQL-为表中的两个不同值返回一条记录,sql,database,Sql,Database,选择国家名称和客户数量,前提是英国和英国应被视为同一国家。 客户(国家、客户ID) 您可以使用CASE表达式将英国映射到大不列颠(反之亦然)。然后,只需使用一个简单的聚合查询即可获得所需的结果。请注意,我在单独的子查询中映射国家名称,因为ANSI SQL不支持按派生列分组 SELECT country, COUNT(*) AS cnt FROM ( SELECT CASE WHEN country = 'GB' THEN 'UK' ELSE country END
您可以使用
CASE
表达式将英国映射到大不列颠(反之亦然)。然后,只需使用一个简单的聚合查询即可获得所需的结果。请注意,我在单独的子查询中映射国家名称,因为ANSI SQL不支持按派生列分组
SELECT
country, COUNT(*) AS cnt
FROM
(
SELECT
CASE WHEN country = 'GB' THEN 'UK' ELSE country END AS country
FROM yourTable
) t
GROUP BY country
我从你的问题中了解到,你可以尝试以下查询
Select country, count(*) from Customers
group by country;
哪个数据库?那么什么是sql?结构化查询语言,任何数据库我只想要一个通用查询那‘t'means after’’是什么意思?@Hasan子查询后的
t
只是该派生表的别名。某些数据库(如Oracle)要求每个派生表都有一个别名。您是否需要它将取决于您正在使用的数据库,但将其作为一种习惯包含是一种良好的做法。
Select country, count(*) from Customers
group by country;