表: 电话费用表
+------+---------------+ | 字段名称 | 类型 | +------+---------------+ | 电话号码 | 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 | +----------+ 解释: 先分别截取出电话号码的后四位数,生成四个新的字段,再筛选出符合条件的电话号码。
