表: 电话费用表 +------+---------------+ 字段名称 类型 +------+---------------+ 电话号码 varchar(512) 月份 int 月消费 decimal(10,1) +------+---------------+ 电话号码、月份 是该表的主键。 该表的每一行表示 该电话号码在某个月份的消费金额,包含电话号码、月份和月消费。 问题一:编写一个 SQL 查询,查找2017年以来(截至2017年10月31日)所有四位尾数符合AABB或者ABAB或者AAAA的电话号码(A、B分别代表1-9中任意的一个数字)。 查询结果如下例所示。 示例 1: 输入: 表:电话费用表 +----------+--------+--------+ 电话号码 月份 月消费 +----------+--------+--------+ 64262631 201711 30.6 64262645 201711 40.8 64262659 201711 51 64262673 201706 61.2 64262687 201706 71.4 64262701 201706 81.6 64262715 201706 91.8 64262701 201707 81.6 64262715 201707 91.8 64262701 201708 81.6 64262715 201708 91.8 64262729 201712 102 64262743 201712 112.2 64262757 201712 122.4 64262771 201712 132.6 64262715 201710 0 64262727 201704 52.3 64262277 201704 59.1 64262727 201705 40.5 64262277 201705 0 64262222 201705 96.2 64262715 201710 0 +----------+--------+--------+ 输出: +----------+ 电话号码 +----------+ 64262222 64262277 64262727 +----------+ 解释: 先分别截取出电话号码的后四位数,生成四个新的字段,再筛选出符合条件的电话号码。
示例1

输入

CREATE TABLE `电话费用表` 
(
    `电话号码` VARCHAR(512),
    `月份` INT,
    `月消费` DECIMAL(10,1)
);
-- 插入电话费用表的数据
INSERT INTO `电话费用表` (`电话号码`, `月份`, `月消费`) VALUES ('64262631', 201711, 30.6);
INSERT INTO `电话费用表` (`电话号码`, `月份`, `月消费`) VALUES ('64262645', 201711, 40.8);
INSERT INTO `电话费用表` (`电话号码`, `月份`, `月消费`) VALUES ('64262659', 201711, 51.0);
INSERT INTO `电话费用表` (`电话号码`, `月份`, `月消费`) VALUES ('64262673', 201706, 61.2);
INSERT INTO `电话费用表` (`电话号码`, `月份`, `月消费`) VALUES ('64262687', 201706, 71.4);
INSERT INTO `电话费用表` (`电话号码`, `月份`, `月消费`) VALUES ('64262701', 201706, 81.6);
INSERT INTO `电话费用表` (`电话号码`, `月份`, `月消费`) VALUES ('64262715', 201706, 91.8);
INSERT INTO `电话费用表` (`电话号码`, `月份`, `月消费`) VALUES ('64262701', 201707, 81.6);
INSERT INTO `电话费用表` (`电话号码`, `月份`, `月消费`) VALUES ('64262715', 201707, 91.8);
INSERT INTO `电话费用表` (`电话号码`, `月份`, `月消费`) VALUES ('64262701', 201708, 81.6);
INSERT INTO `电话费用表` (`电话号码`, `月份`, `月消费`) VALUES ('64262715', 201708, 91.8);
INSERT INTO `电话费用表` (`电话号码`, `月份`, `月消费`) VALUES ('64262729', 201712, 102.0);
INSERT INTO `电话费用表` (`电话号码`, `月份`, `月消费`) VALUES ('64262743', 201712, 112.2);
INSERT INTO `电话费用表` (`电话号码`, `月份`, `月消费`) VALUES ('64262757', 201712, 122.4);
INSERT INTO `电话费用表` (`电话号码`, `月份`, `月消费`) VALUES ('64262771', 201712, 132.6);
INSERT INTO `电话费用表` (`电话号码`, `月份`, `月消费`) VALUES ('64262715', 201710, 0.0);
INSERT INTO `电话费用表` (`电话号码`, `月份`, `月消费`) VALUES ('64262727', 201704, 52.3);
INSERT INTO `电话费用表` (`电话号码`, `月份`, `月消费`) VALUES ('64262277', 201704, 59.1);
INSERT INTO `电话费用表` (`电话号码`, `月份`, `月消费`) VALUES ('64262727', 201705, 40.5);
INSERT INTO `电话费用表` (`电话号码`, `月份`, `月消费`) VALUES ('64262277', 201705, 0.0);
INSERT INTO `电话费用表` (`电话号码`, `月份`, `月消费`) VALUES ('64262222', 201705, 96.2);
INSERT INTO `电话费用表` (`电话号码`, `月份`, `月消费`) VALUES ('64262715', 201710, 0.0);

输出

电话号码
64262727
64262277
64262222
加载中...