检索最多城市的省sql
主要使用any关键字
select name,num from (select p.name name,count(c.id) num from city c,province p where c.pid=p.id GROUP BY pid) cc where num > any(select count(*) as aa from city GROUP BY pid)
表结构如下:
CREATE TABLE `city` (
`id` varchar(255) ,
`pid` varchar(50)L,
`name` varchar(255) L,
PRIMARY KEY (`id`)
);
CREATE TABLE `province` (
`name` varchar(255) ,
`id` varchar(255) ,
PRIMARY KEY (`id`)
) ;
带有ANY(SOME)或ALL谓词的子查询
需要配合使用比较运算符
> ANY 大于子查询结果中的某个值 大于最小值
> ALL 大于子查询结果中的所有值 大于最大值
< ANY 小于子查询结果中的某个值 小于最大值
< ALL 小于子查询结果中的所有值 小于最小值
>= ANY 大于等于子查询结果中的某个值
>= ALL 大于等于子查询结果中的所有值
<= ANY 小于等于子查询结果中的某个值
<= ALL 小于等于子查询结果中的所有值
= ANY 等于子查询结果中的某个值
=ALL 等于子查询结果中的所有值(通常没有实际意义)
!=(或<>)ANY 不等于子查询结果中的某个值
!=(或<>)ALL 不等于子查询结果中的任何一个值