簡體   English   中英

Oracle SQL Select中的行數?

[英]Number of rows in Oracle SQL Select?

我需要知道在Oracle中的select中返回了多少條記錄。 目前,我做了兩個查詢:

SELECT COUNT(ITEM_ID) FROM MY_ITEMS;

SELECT * FROM MY_ITEMS;

我需要知道COUNT但我討厭做兩個查詢。 有辦法嗎?

SELECT * FROM MY_ITEMS 

然后找出那里有多少條記錄?

有辦法嗎?

 SELECT * FROM MY_ITEMS 

然后找出那里有多少條記錄?

如果您希望它按照這個確切的順序,您可以獲取客戶端上的所有記錄並計算它們的數量(幾乎所有客戶端庫都提供了一個功能)。

你也可以這樣做:

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

,它會將計數與每條記錄一起返回給您。

如果您正在使用PL / SQL,則可以使用SQL%ROWCOUNT偽變量來獲取受上一個SQL語句影響的行數。 可能會省你一些努力。

這應該做的伎倆。

WITH 
base AS
(
    SELECT *
    FROM MY_ITEMS
)
SELECT (SELECT COUNT(*) FROM base) kount,
       base.*
FROM base

我只是不確定表別名,我不記得在Oracle中是否需要'AS'。 但這應該有效。

select mt.*, c.Cntr
    from MyTable mt
        , (select COUNT(*) as Cntr
               from MyTable
           ) c

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM