इनबिल्ट COUNT (*) फ़ंक्शन [बंद] - एसक्यूएल, ऑरैकल का उपयोग किये बिना COUNT का संचालन करना

कोई इनबिल्ट का उपयोग किए बिना एक तालिका के आधार पर फ़ील्ड की गिनती के बारे में कैसे जानेगा COUNT समारोह? क्या इसे करने का कोई तरीका है?

आवश्यकताएँ इस प्रकार हैं:

Create a PL/SQL function called कुल वापस करने के लिए findtotalcarmodels एक विशेष मॉडल से संबंधित कारों की संख्या। फ़ंक्शन में एकल होना चाहिए Model_name के रूप में पैरामीटर। फिर आपको गणना करने के लिए एक स्पष्ट कर्सर का उपयोग करना चाहिए उस कार मॉडल से संबंधित कारों की संख्या और अंतिम गणना वापस। तुम नहीं करना चाहिए किसी भी निहित कर्सर, टेबल जॉइन, सबक्वेरीज़, सेट ऑपरेटर, समूह फ़ंक्शंस या SQL का उपयोग करें फ़ंक्शन (जैसे COUNT) इस फ़ंक्शन को बनाने के लिए।

उत्तर:

उत्तर № 1 के लिए 1

यह शायद सबसे कठिन उत्तर है जो मैं लिख रहा हूं। इंडस्ट्री में कोई भी इस तरह से काम नहीं करता है।

Here goes the answer:

CREATE OR REPLACE FUNCTION findtotalcarmodels
( model_name IN VARCHAR2)
IS
CURSOR mycur IS
SELECT model_name_col FROM car_table;
mycount INTEGER := 0;
current_model_name VARCHAR2(10);
BEGIN
OPEN mycur;
FETCH mycur INTO current_model_name;
WHILE mycur%FOUND LOOP
IF current_model_name = model_name THEN
mycount := mycount + 1;
END IF;
FETCH mycur INTO current_model_name;
END LOOP;
CLOSE mycur;
dbms_output.put_line("The count is " || mycount);
END;
/

जवाब के लिए 2 № 2
SUM(CASE WHEN <condition on your fields> THEN 1 ELSE 0 END)

संबंधित सवाल
सबसे लोकप्रिय