在我的数据库中,我的电话号码带有国家/地区代码,看起来像是
0044-123456
0044-123456
0014-123456
0014-123456
0024-123456
0024-123456
0034-123456
0044-123456
0044-123456
0024-123456
0034-123456
084-123456
084-123456
我希望按国家/地区总计数字,例如此输出
0044 (2)
0024 (2)
0034 (1)
084 (2)
064 (5)
是否可以使用SQL查询执行此操作?
答案 0 :(得分:3)
试试这个:
SELECT count(SUBSTR(phoneNumber, 1, LOCATE("-", phoneNumber)))
FROM tableName
GROUP BY SUBSTR(phoneNumber, 1, LOCATE("-", phoneNumber));
答案 1 :(得分:1)
这应该可以解决问题:
SELECT phoneNumber,
SUBSTR(phoneNumber, 1, LOCATE("-", phoneNumber) - 1) AS countryCode,
COUNT(*) AS count
FROM phoneNumbers
GROUP BY countryCode
即。从数字中提取国家代码,并在其上分组。