在postgresql中查找列中出现次数最多的值集
打印most班级注册学生的姓名和SID 报名 学生 希德·斯奈姆 输出在postgresql中查找列中出现次数最多的值集,postgresql,Postgresql,打印most班级注册学生的姓名和SID 报名 学生 希德·斯奈姆 输出 按学生分组注册、按计数排序和使用限制1: select s.id, s.name from student s join enroll e on e.sid = s.id group by s.id, s.name order by count(*) desc limit 1 请注意,您不需要选择计数*-您只需参考它即可。我认为这将对您有所帮助 SELECT <column_name> FROM <tab
按学生分组注册、按计数排序和使用限制1:
select s.id, s.name
from student s
join enroll e on e.sid = s.id
group by s.id, s.name
order by count(*) desc
limit 1
请注意,您不需要选择计数*-您只需参考它即可。我认为这将对您有所帮助
SELECT <column_name> FROM <table_name> WHERE <column_name>=
(SELECT <column_name>
FROM (SELECT <column_name>, count(*) as cnt FROM <table_name> GROUP BY <column_name>) AS foo
WHERE foo.cnt=(SELECT MAX(c) FROM (SELECT <column_name>,count(*) AS c FROM <column_name> GROUP BY <column_name>) AS bar)) limit 1
对于这个简单的问题,有很多很好的适用材料,您要查找的术语是聚合分组方式,特别是计数-您可以将分组方式与计数和订单方式与限制1结合起来。
1 sagar
2 kiran
3 ravi
4 vishal
sid sname
1 sagar
select s.id, s.name
from student s
join enroll e on e.sid = s.id
group by s.id, s.name
order by count(*) desc
limit 1
SELECT <column_name> FROM <table_name> WHERE <column_name>=
(SELECT <column_name>
FROM (SELECT <column_name>, count(*) as cnt FROM <table_name> GROUP BY <column_name>) AS foo
WHERE foo.cnt=(SELECT MAX(c) FROM (SELECT <column_name>,count(*) AS c FROM <column_name> GROUP BY <column_name>) AS bar)) limit 1