Oracle数据库学习之rownum
Jun 07, 2016 pm 05:20 PM如果我们执行如下的select语句 select rownum from student where rownumgt;2,原本我们是想着获取第二条记录以后的记录的,但是
淘宝,选课系统中分页显示数据用的就是rownum,这是数据库默认字段,每个表中都会有,但是使用rownum需要注意以下几点:
(1)rownum不可以与*一起用
(2)rownum是在查询得到结果后加上去的,默认从一开始。这貌似是显浅的一句话,但是背后的意义非常重要,随时影响我们最后的查询结果。
如果我们执行如下的select语句 select rownum from student where rownum>2,原本我们是想着获取第二条记录以后的记录的,但是事实上我们一条记录都不会得到,原因很简单,就是select的结果是一条一条地加上去的,当第一条记录添加时,其rownum为1,不满足条件,,不能添加,如此类推,我们查询的结果一条都没有。
那么我们应该如何解决这个问题呢?毕竟这是个很普遍的查询。这里我们将用到子查询。
select * from (select rownum from student)where rownum>2

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Réduisez l'utilisation de la mémoire MySQL dans Docker

Comment modifier une table dans MySQL en utilisant l'instruction ALTER TABLE?

Comment résoudre le problème de MySQL ne peut pas ouvrir la bibliothèque partagée

Exécutez MySQL dans Linux (avec / sans conteneur Podman avec phpmyadmin)

Exécuter plusieurs versions MySQL sur macOS: un guide étape par étape

Quels sont les outils de GUI MySQL populaires (par exemple, MySQL Workbench, PhpMyAdmin)?

Comment sécuriser MySQL contre les vulnérabilités communes (injection SQL, attaques par force brute)?
