回答

收藏

仅显示SQL查询输出的前N行

技术问答 技术问答 228 人阅读 | 0 人回复 | 2023-09-14

有没有办法只显示SQL查询的前N行输出?
3 v, Q( Y8 {0 o" @% K) N. A奖励积分,如果在N输出行后查询停止运行。! p( r, ?1 v# `6 ?; ^. Z+ v
我最感兴趣的是找到一种适用于的东西Oracle。
8 m$ a* _+ n6 P# W* Y' H               
( l$ N1 j3 q. ~& s解决方案:
( _9 F1 b( J6 v/ ^$ |$ A$ i& h! t                ! r  Y. p5 ^# ^- h
( u7 ]) q; f+ d' I# v/ W7 S

5 R2 g2 f/ Q* n5 u1 ?8 }. B                如果您指定要定位的数据库,将很有帮助。不同的数据库具有不同的语法和技术来实现此目的:) Q0 U! {+ I. ?' x1 O; o6 e
例如,在Oracle中,您可以通过设置条件来实现这一点RowNum(select ... from ... where ... rownum 将导致输出前10条记录)
( f- O0 a0 C& ]! @6 |- L) q在MySQL可以使用时可以使用uselimit子句。
+ a7 K- g4 [$ {9 `3 z9 Y6 y  NMicrosoft SQL Server = > SELECT TOP 10 column FROM table
0 z) @/ s, h- W& C: aPostgreSQL和MySQL = > SELECT column FROM table LIMIT 10
7 Z8 @! m% C' f! ?" nOracle = > select * from (SELECT column FROM table ) WHERE ROWNUM 2 g+ }6 `: d6 w6 Y
Sybase = > SET rowcount 10 SELECT column FROM table
. ]. U0 L& n$ M火鸟= > SELECT FIRST 10 column FROM table
2 Y0 k( a( p* l/ J  U8 N3 Z注意:ORMHibernate等现代工具提供了高级API(查询,限制,条件接口),这些API根据您选择的方言抽象出前n行的逻辑。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则