嘿,我想做一个查询,它可以让我看到有多少个citties的电话号码是6开始的,另一个在7-9之间
SELECT COUNT(Ciudad) AS "T.Fijos", Ciudad
FROM "BBDD.CLIENTES"WHERE Teléfono LIKE "9%"
GROUP BY Ciudad该查询只显示以9开头的电话号码,我需要在一个查询中完成所有操作。
发布于 2022-07-21 14:56:19
请试试看以下几点。
但是,我想知道您的FROM实际上是否应该是FROM "BBDD"."CLIENTES"。通过用双引号将整个名称包装成双引号,您是说表名是"BBBD.CLIENTES“,而不是指定模式。
不幸的是,我无法在SQLite上测试这一点,但总体上应该是可以的。
我们可以使用一个通用表表达式(CTE -WITH.部分)创建数据的临时视图,包括起始数字的新列。
那我们就可以用用例了若要检查起始数字是什么,请返回一些描述该数字的文本。
WITH t
AS
(
SELECT Ciudad,
"Teléfono",
CAST(SUBSTR(Teléfono,1,1) AS integer) AS starting_digit
FROM "BBDD.CLIENTES"
)
SELECT Ciudad,
'Teléfono starts with ' ||
CASE
WHEN starting_digit = 6 THEN '6'
WHEN starting_digit BETWEEN 7 AND 9 THEN '7, 8 or 9'
ELSE 'something else'
END AS phone_start,
COUNT(*) AS count_of_phone_numbers
FROM t
GROUP BY 1, 2;https://stackoverflow.com/questions/73068085
复制相似问题