有一张银行支票签发表,创建过程如下: create table 支票签发( 支票号 int not null primary key, 签发金额 decimal(8,2) ) insert into 支票签发表 values(1,2500); insert into 支票签发表 values(2,3000); insert into 支票签发表 values(3,3000); insert into 支票签发表 values(4,5000); insert into 支票签发表 values(5,3000); insert into 支票签发表 values(6,2500); insert into 支票签发表 values(7,2500); go 根据上表的结构,请写出签发金额出现次数最多的金额,用一条语句实现。(3000、2500均出现3次) --SQL SERVER 独有解答方式,用top 来解决,with ties选项可解决并列情况 select top 1 with ties 签发金额,count(*) as 签发次数 from 支票签发表 group by 签发金额 order by 签发次数 desc; --通用方式,代码可移植,方法一 select 签发金额,count(*) as 出现频率 from 支票签发表 group by 签发金额 having count(*)>=all( select count(*) from 支票签发表 group by 签发金额 ); --通用方式,代码可移植,方法二 select 签发金额,count(*) as 出现频率 from 支票签发表 group by 签发金额 having count(*)=( select max(a.出现频率) from ( select count(*) as 出现频率 from 支票签发表 group by 签发金额 ) as a);