用sql语句,查询每个班级成绩排名前三名的学生姓名

关于SQL查询,我来说一下我当时面临的缺点。

当时,我在北京一家小公司做助理。
我的老板让我检查一张包含客户名单的桌子。
数据相当混乱。
一个人的名字叫“张三丰”,一个人的名字叫“老张头”。
我只是想见见那个叫张的人。

1 .我打开SQL Server,看到表中有两条数据,一条是“张三丰”,一条是“老张头”。
两者都有“张”,但一个在前,一个在后。

2 我只是想用Select和From语句来查看姓张的人。
结果我什么都想不通,心里不断地自言自语。

3 老板说:“用等号试试。
”我尝试了一下,发现根本不起作用。
比如写成“WHERE name=‘张’”,则根本找不到“张三丰”和“老张头”。
只能找到与“张”完全等同的,但没有这样的数据。

4 这时,老板教我:“用喜欢的关键词来找。
”我尝试了“where name is like ‘Zhang%’”,结果只找到了姓张的人,比如“张三丰”,却没有找到“老张头”。
我心想,这怎么办?
5 老板接着指出:“试试前后加一个百分号。
”我尝试过,“名字就像‘%张%’”,嘿!好了,现在,“张三丰”和“老张头”都被曝光了!这说明如果不加百分号的话,只能可以检查前缀,如果前后都加上,就可以检查所有内容。

6 我当时就明白了,like关键字真是个好东西。
但后来我发现,如果你只加一个百分号,比如“张%”,你只能找到姓张的人,但如果你加两个百分号“%张%”,你就会找到名字中有“张”的人,无论他们在哪里。

就这样,我学会了如何使用Like来调查模糊数据。
这件事给我的影响太深了,以至于现在我帮人查数据的时候,我都会提醒他们用like而不是等号。
这个SQL其实是个好东西,但是如果用不好的话,很容易造成危害!

有学生和班级两张表,如何用一条sql语句查询学生人数最多的班级信息?

查询语句错误。
多个班级可以拥有最多的学生人数。
使用 row_number()。

sql 其中 class_counts 为 ( 选择类 id,count() 类似 counta 学生 按班级分组 ), 顶部计数类似( 选择第一个帐户 来自类计数 按描述帐户订购 ) 选择 A类的 将左 class_counts b 加入 a.classid = b.classid 其中 b.counta =(从 top_count 中选择 counta)
时间:现在。
地点:这里。
数字:我不确定。