关于取第一条数据的sql特此作了一个例子如下:

http://www.360doc.com/showweb/0/0/860281883.aspxSELECT * FROM tableName where fd_rt = 'A' --and rownum=1 ORDER BY fd_date DESC

72532f1bc6d5b6d7b2f2167a595e4d80.png

正常说 第一条数据应为  16bf4eb91606de5e0ff61f94d0f8f20f

在where 后 直接跟条件 使用此sql时结果如下

SELECT * FROM tableName where fd_rt = 'A'

and rownum=1

ORDER BY fd_date DESC

f93e13f9ddcd0d0ac879a5737772b3df.png

可是查询结果为 第二条数据

郑州不孕不育医院:http://www.xbzztj.com/

正确使用方式为:SELECT t.* from(SELECT * FROM tableName where fd_rt = 'A' ORDER BY fd_date DESC) t WHERE rownum = 1

b0630446a4c38f342e951cfc2e997033.png

rownum作为伪列实际上查询结果为:SELECT tableName .*,rownum FROM tableName where fd_rt = 'A' --and rownum=1 ORDER BY fd_date DESC

8ae33f054be7e5ba89ecbd9bc16e3754.pngSELECT t.*,rownum from(SELECT * FROM tableName where fd_rt = 'A' ORDER BY fd_date DESC) t

d139883c7d2a917ae439e9fa877f2a0a.png

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐