MySQL查询显示具有最大计数值的记录与其他列值的组?
为此,请使用GROUPBYHAVING子句。让我们首先创建一个表-
create table DemoTable ( Value int );
使用插入命令在表中插入一些记录-
insert into DemoTable values(88); insert into DemoTable values(88); insert into DemoTable values(88); insert into DemoTable values(99); insert into DemoTable values(99); insert into DemoTable values(99); insert into DemoTable values(99); insert into DemoTable values(100); insert into DemoTable values(100); insert into DemoTable values(88); insert into DemoTable values(88);
使用select语句显示表中的所有记录-
select *from DemoTable;
这将产生以下输出-
+-------+ | Value | +-------+ | 88 | | 88 | | 88 | | 99 | | 99 | | 99 | | 99 | | 100 | | 100 | | 88 | | 88 | +-------+ 11 rows in set (0.00 sec)
以下是查询,以在具有其他列的组中显示具有最大计数值的记录。在这里,我们在列中重复了值,并对值进行排序。在ORDERBYDESC之后,我们将获取第一个值并将其计数显示在新列“NumberOfCount”中-
select Value,count(*) as NumberOfCount
from DemoTable
group by Value
having count(*)=(select count(*) as NumberOfCount
from DemoTable
group by Value
order by NumberOfCount desc
limit 1);这将产生以下输出-
+-------+---------------+ | Value | NumberOfCount | +-------+---------------+ | 88 | 5 | +-------+---------------+ 1 row in set (0.00 sec)
热门推荐
10 国庆求婚祝福语简短精辟
11 祝贺开业文案祝福语简短
12 怎么说祝福语简短
13 三十三句祝福语简短
14 2026年春节祝福语简短
15 过节文案成语祝福语简短
16 周一情人祝福语简短
17 新房开工吉日祝福语简短
18 入伙英文祝福语大全简短