sql查询第一条
① sql如何查询表的第一条记录和最后一条记录
第一条: select * from 表名 limit 1;(默认是升序厅樱举排序,取第一条)扮碧
最后一条颂竖:select * from表名 order by 表_id desc limit 1(降序排序取第一条)
② sql语句,选第一条数据
几个常用数据库的写法如下:
1、mssql 数据库
select top 1 * from table2、Oracle数据库
select * from table where rownum < 23、MySQL数据库:
select * from table limit 0, 1(这里keyword
limit
startid,rownum是这样的:表示从startid
+
1行开始,一共查询rownum条记录。
③ 如何用SQL SERVER取分组数据第一条
根据table1_id进行分组所得结果:
select * from (select a.id as a_id,a.name,a.time,a.content,b.id as b_id,b.user from table1 a inner join table2 b on a.id = b.table1_ID) new_tbl where b_id in (select min(id) from table2 group by table1_ID)
(3)sql查询第一条扩展阅读:
注意事项
在SQL Server数据库中,使用top关键字:SELECT TOP number|percent column_name(s) FROM table_name
在MySQL数据库中,使用LIMIT关键字:SELECT column_name(s) FROM table_name LIMIT number
例子:SELECT * FROM Persons LIMIT 1
select bookName from book where price > 20 limit 1;
limit 1;
or
limit 0,1;
在Oracle数据库中,使用ROWNUM关键字:
SELECT column_name(s) FROM table_name WHERE ROWNUM <= number
例子:SELECT * FROM Persons WHERE ROWNUM <= 1
④ sql语句,选第一条数据
几个常用数据库的写法如下:
1、mssql数据库
selecttop1*fromtable
2、Oracle数据库
select*fromtablewhererownum<2
3、MySQL数据库:
select*fromtablelimit0,1
(这里keyword limit startid,rownum是这样的:表示从startid + 1行开始,一共查询rownum条记录。
⑤ SQL分组查询取第一条数据
我们在查询数据时,经常会使用distinct去重,但使用distinct只能去除所有查询列都相同的记录,如果所查询列中有一个字段值不同,distinct是无法去重的。但我们还想要实现这样的效果,这时我们可以用partition by。
1.例如,我们新建一张学生成绩表。
2.插入一些测试数据。
3.例如我们需要查询每个科目不同的分数,这时候可以用到distinct:
4.但是我们把需求再加一点,需要查询每个科目排名第一的学生信息,这时候就需要用到partition by:
PS:MySQL5.6不支持partition by
此时我们发现,并且第一的小明同学的英语成绩没有被查询出来,接着优化: