Подсчет строк в селекте

Ashotovich

Новичок
Подсчет строк в селекте

День добрый.
Объясните, пожалуйста, почему в фунциях PHP по работе с Oracle нет подсчета количество строк после выполнеия "SELECT * FROM"? Ведь в работе с MySQL есть функция mysql_num_rows. А для Оракла приходится строить конструкцию с While (OCIFetch($stmt)) и только потом вычислять OCI_Row_Count($stmt).

Заранее спасибо.
 

Ashotovich

Новичок
Упс... Ничего не понял. Можно простенький примерчик?
Спасибо заранее.
 

fisher

накатила суть
select field1, field2 ... fieldN, max(rownum) over () as N from my_table;
/* PARTITION BY clause defines the groups on which the function is to be computed. If the PARTITION BY clause is absent, then the function is computed over the whole query result set */
 

chira

Новичок
fisher меня поправил partition by 1 можно не писать.
если интересует смысл , то partition по константе это получается, что вся таблица является одной польшой патицией.

используй max(rownum) over ()
 

Влад

Новичок
4 chira : не подскажешь, где можно прочитать про over()?
Ни разу не встречал в Oracle.
 
Сверху