① 用sql选出每个人成绩的最高纪录
查询每个人最高成绩SQL:
第一种:先使用group by和max得到最高分数和学科,然后再查询一下score表,找到学科和分数都相同的记录
select b.* from (select max(score) t,course from score group by course) a,score b where a.t=b.score and a.course=b.course
第二种:先得到相同学科的最高分数,再查询score表,找到最高分数的记录select * from score a where score=(select max(score) from score where course=a.course)
第三种:score表中,当学科一样的时候,不存在一条记录的分数小于其它记录的分数select * from score a where not exists(select * from score where a.course=course and a.score<score)
② sql 怎实现查询数据表内出现最多次数的数据
selectdate_format(addtime,'%Y%m%d'),count(date_format(addtime,'%Y%m%d'))fromtb_Parkinginformatiwhere
addtimeBETWEEN'2015-05-0100:00:00'AND'2015-07-0200:00:00'
groupbydate_format(addtime,'%Y%m%d');
不知道你使用的数据库是什么类型的,这里提供MYSQL的查询方法,供你参考一下(盲写的SQL,可能有一点错误,但是大致的方法就是这样了)
③ sql查询出现最多的数据
sql查询出现最多的数据 1
使用count函数即可。
例如:
表名test
id name
1 a
1 b
1 f
2 c
2 d
3 e
④ 如何用sql查询出一个表中某列中重复次数最多的值与重复次数 只显示最多的那一列后面的不看怎么弄啊
可以用分组groupby+count查看列名和重复次数,然后排序就能看到重复最多的是哪一个值了
也就是 列名,count(列名)(这样会去掉列中的空值) from table group by 列名
如果只要最多的,那就是要那个count的最大值,将上面的表作为一个表,然后再求一个max,或者排序以后求一下top 1(oracle的话rownum=1)就可以了,不知道这个是不是你要的。
如果,你要求的是每一个字段重复最多的,然后一起显示,这个真做不到,比如
A(字段1值) 12(重复次数) B(字段2值) 16(重复字数) C(字段3值) 15(重复次数),是真的做不到
⑤ sql里怎样求出现次数最多那个数
111111 tom 22222222
111112 uuu 22222223
111113 qqq 22222224
111114 www 22222224
111115 ppp 22222225
111116 tom 22222222
111117 tom 22222222
select user_name ,count(1) //列出用户名,还有ID的总数
from yinhang
group by user_name //根据用历芹户名分组
having count(pid)=(select max(count(pid)) from yinhang group by user_name);//弯烂悔筛选出与最埋正大的用户
试验成功
USER_NAME COUNT(1)
tom 3
⑥ 如何用sql查询出一个表中某列中重复次数最多的值与重复次数
select top 1 某列,count(*) from 表 group by 某列 order by count(*) desc
⑦ sql查询重复数据最大的数据
可枣羡枣以使用group函数,派清max()关键字,先进行分组,再凳拆查找相应组中最大值
select A,MAX(B) from table_name group by A
⑧ sql里面取一个最多纪录的数值
mysql
SELECT分数
FROM
(
SELECT分数,COUNT(1)AS出现次数
FROM表名
GROUPBY分数
)ASt
ORDERBY出现次数DESC
LIMIT1;
sql server
SELECTTOP(1)分数
FROM
(
SELECT分数,COUNT(1)AS出现次数
FROM表名
GROUPBY分数
)ASt
ORDERBY出现次数DESC
GO
⑨ 怎样用sql查询并赋值最大连出次数和当前连出次数
VALUE是关键字,因此对value做了稍稍改动,方别写伍圆期间,暂且写腔物塌作AGE
求出连出次数:
SELECT t2.age, count(*) cnt
FROM TAB t1,
(SELECT ID, AGE, ROW_NUMBER() OVER(ORDER BY AGE) RK FROM TAB) t2
WHERE t1.ID = t2.id
GROUP BY t2.age,t1.id - t2.RK
HAVING COUNT(*) > 1
-----
AGE cnt
2 2
2 3
做多一步就可以了
SELECT COUNT(*) 连出次数, MAX(cnt) 最蚂握大连出次数
FROM (SELECT t2.age, count(*) cnt
FROM TAB t1,
(SELECT ID, AGE, ROW_NUMBER() OVER(ORDER BY AGE) RK FROM TAB) t2
WHERE t1.ID = t2.id
GROUP BY t2.age,t1.id - t2.RK
HAVING COUNT(*) > 1 ) d
⑩ SQL如何查询表中某列出现频率最多的字段
就说个简单的吧,排序法,此方法并不严谨,也许是楼主问题并不严谨,10-30名如果出现的频率都是20次,则有的将显示不出来。
SELECT TOP 20 PartID,COUNT(1) v_SUM FROM dbo.Ware01F GROUP BY PartID ORDER BY COUNT(1) DESC