Количество строк в Oracle Выбор SQL?

Я должен знать, сколько записей было возвращено в выборе в оракуле. В настоящее время я делаю два запроса:

SELECT COUNT(ITEM_ID) FROM MY_ITEMS;

SELECT * FROM MY_ITEMS;

Я должен знать КОЛИЧЕСТВО, но я очень не хочу делать два запроса. Есть ли способ сделать:

SELECT * FROM MY_ITEMS 

и затем узнайте, сколько записи там?

11
задан FrustratedWithFormsDesigner 21 May 2010 в 17:35
поделиться

3 ответа

Есть ли способ сделать:

SELECT * FROM MY_ITEMS (выбрать * из MY_ITEMS) 

и затем узнать, сколько там записей?

Если вам нужен именно такой порядок, вы можете получить все записи на клиенте и подсчитать их количество (почти все клиентские библиотеки предоставляют функцию для этого).

Вы также можете сделать:

SELECT  i.*, COUNT(*) OVER ()
FROM    my_items i

, что вернет вам счетчик вместе с каждой записью.

32
ответ дан 3 December 2019 в 01:44
поделиться

Я просто не уверен насчет псевдонимов таблиц, я не помню в Oracle, требуют ли они 'AS' или нет. Но это должно сработать.

select mt.*, c.Cntr
    from MyTable mt
        , (select COUNT(*) as Cntr
               from MyTable
           ) c
0
ответ дан 3 December 2019 в 01:44
поделиться

Если вы работаете в PL / SQL, вы можете использовать псевдопеременную SQL% ROWCOUNT, чтобы получить количество строк, затронутых последним оператором SQL. Может сэкономить вам немного усилий.

3
ответ дан 3 December 2019 в 01:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: