- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
К сожалению и к моему большому удивлению в Оракле нет такого полезного оператора LIMIT, который есть в MySQL. Аналогом ему в оракле служит псевдо-колонка rownum, которая отображает номер выбираемой записи по ходу выборки.
Итак, есть такой вот простенький sql запрос для Oracle
SELECT * FROM T WHERE ROWNUM BETWEEN 2 AND 20
который по мнению автора выберет 19 строк, начиная с 2 и заканчивая 20-й.
Вопрос знатокам: Будет ли такой вопрос выводить требуемые записи? Вроде как будет… Но раз этот пост в разделе говнокод, то надо подумать ещё.
Думаем. Когда у нас выберется первая запись по нашему запросу? Когда rownum будет 2. А когда rownum будет 2? После того как выберется первая запись. Из всего этого делаем однозначный вывод — не выберется ни одной записи.
movaxbx 04.10.2011 16:37 # +4
guest 04.10.2011 17:04 # +3
guest 04.10.2011 17:30 # +2
guest 04.10.2011 17:53 # +3
bugmenot 04.10.2011 18:25 # +2
3.14159265 04.10.2011 18:57 # +2
http://zhyk.ru/forum/showthread.php?p=1577668
roman-kashitsyn 04.10.2011 19:01 # 0
Dummy00001 04.10.2011 19:38 # +1
Вместо думания почитайте как SQLы выполняются на оракакале сначала. (И вообще в ACID RDBMS.) РэТэФэМэ, так сказать.
И вообще, много думать вредно. Завязывайте с этой дурной привычкой.
KaBauHblu_nemyx 10.07.2019 08:27 # 0