![](/img/trans.png)
[英]Oracle SQL select distinct query to return specific number of rows
[英]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.