首页 > 试题广场 >

假设有一张表test,表中存放着全国的城市信息以及其所在的省

[单选题]
假设有一张表test,表中存放着全国的城市信息以及其所在的省份,现在要以每个省份包含名称以'州'为结尾的城市数量降序排序,包含相同数量的省份以省份名称降序拍戏,最终输出第二多以及第三多的省份以及数量,那么下面正确的sql语句是
create table `test`(
    `id` int(11) not null auto_increment,
    `province` char(50) not null comment '省份名称',
    `city` char(50) not null comment '城市名称',
    primary key(`id`),
    unique key `idx`(`province`, `city`)
)engine = innodb;

  • select province, count(*) c from test where city like '%州' group by province order by c desc, province desc limit 2,1
  • select province, count(*) c from test where city like '%州' group by province order by c desc, province desc limit 1,2
  • select province, count(*) c from test where city like '州%' group by province order by c desc, province desc limit 2,1
  • select province, count(*) c from test where city like '州%' group by province order by c desc, province desc limit 1,2
选 b:
LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初始记录行的偏移量是 0(而不是 1)
编辑于 2021-05-13 13:38:16 回复(0)
limit1,2的意思是从第一行开始取  往后取2个 也就是第二 第三  第一个值代表从哪里开始取,第二个值表示往后取几个
发表于 2021-11-25 15:17:28 回复(0)