摘要:
编写一个SQL查询,查找至少连续出现三次的所有数字。 创建表和数据: 解法: 1.题目暗示,每行的id是连续的。因此,表三次自连接,将连续三行且数字都相等行选出来。 2.抛开id。仅从行数据考虑,需要用户变量记录前一行数据。当前行数据与前一行数据比较是否相同。 定义两个用户变量: @pre : 前一 阅读全文
摘要:
编写一个 SQL查询来实现分数排名。如果两个分数相同,则两个分数排名(Rank)相同。请注意,平分后的下一个名次应该是下一个连续的整数值。换句话说,名次之间不应该有“间隔”。 创建表和数据: 解法: 1.按Id和Score分组。每组中,大于等于每个Score的不同Score数目就是其排名。 优化: 阅读全文
摘要:
编写一个 SQL 查询语句,获取Employee表中第n高的薪水(Salary)。 创建表和数据 解法: 1.对每一个薪水A,只要大于等于A的不同薪水个数等于N即可。 因此子查询求出大于等于A的不同薪水个数B。当B=A时,能得出结果。 2.直接用order by和limit。要注意的是,limit的 阅读全文
摘要:
编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) 。 创建表和数据: 解法: 1.表自连接 用表的自连接,构造偏序关系。再找次序的最大值,就一定是第二高的薪水。同时,max在没有元组输入时,会返回NULL。如在表中的元组少于2个时。 2.子查询 子查询方法。用子查询找 阅读全文
摘要:
创建表和数据: 解法: 阅读全文