2010-05-21 15 views
11

मुझे यह जानने की जरूरत है कि ऑरैकल में चयन में कितने रिकॉर्ड लौटाए गए थे। वर्तमान में, मैं दो प्रश्न करता हूं:ओरेकल एसक्यूएल में पंक्तियों की संख्या का चयन करें?

SELECT COUNT(ITEM_ID) FROM MY_ITEMS; 

SELECT * FROM MY_ITEMS; 

मुझे COUNT को जानने की आवश्यकता है लेकिन मुझे दो प्रश्नों से नफरत है। क्या ऐसा करने का कोई तरीका है:

SELECT * FROM MY_ITEMS 

और फिर पता लगाएं कि वहां कितने रिकॉर्ड हैं?

SELECT * FROM MY_ITEMS 

और फिर पता लगाने के लिए रिकॉर्ड वहाँ में हैं:

उत्तर

28

वहाँ करने के लिए एक तरीका है?

यदि आप इसे इस सटीक क्रम में रखना चाहते हैं, तो आप क्लाइंट पर सभी रिकॉर्ड प्राप्त कर सकते हैं और उनकी संख्या गिन सकते हैं (लगभग सभी ग्राहक पुस्तकालय उस के लिए एक फ़ंक्शन प्रदान करते हैं)।

तुम भी कर सकते हैं:

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

, जो आप प्रत्येक रिकॉर्ड के साथ गिनती वापस आ जाएगी।

+0

यदि आप डेटाबेस स्तर पर ऐसा करना चाहते हैं, तो मैं दूसरे सुझाव से सहमत हूं। आप यहां एक उदाहरण देख सकते हैं: http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/functions032.htm#i82697 – Intelekshual

+0

+1, यह करने का एक चालाक तरीका है! :) – FrustratedWithFormsDesigner

+0

बड़ा धन्यवाद !!! मुझे पता है कि यह 2 साल पहले पोस्ट किया गया था, लेकिन यह वास्तव में मेरी मदद की! – Slim

0

मैं टेबल उपनामों के बारे में बिल्कुल अनिश्चित हूं, मुझे ओरेकल में याद नहीं है अगर उन्हें 'एएस' की आवश्यकता है या नहीं। लेकिन यह काम करना चाहिए।

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

ओपी ने विशेष रूप से एक विधि का अनुरोध किया जिसके लिए दो प्रश्नों की आवश्यकता नहीं होगी; दो प्रश्नों को एक में मंग कर रहा है, जो अभी भी वही अतिरिक्त अनावश्यक काम करता है, यह एक अच्छा जवाब नहीं है, आईएमएचओ। –

3

आप PL/SQL में काम कर रहे हैं, तो आप एसक्यूएल% ROWCOUNT छद्म चर का उपयोग पिछले SQL विवरण से प्रभावित पंक्तियों की संख्या प्राप्त करने के लिए कर सकते हैं। आपको कुछ प्रयास बचा सकता है।

+1

इस चर मूल्य का मूल्यांकन/मूल्यांकन कैसे करें? –

2

यह चाल करना चाहिए।

WITH 
base AS 
(
    SELECT * 
    FROM MY_ITEMS 
) 
SELECT (SELECT COUNT(*) FROM base) kount, 
     base.* 
FROM base 
संबंधित मुद्दे