हम ROW_NUMBER
. का उपयोग कर सकते हैं प्राथमिकताओं के साथ आप जो चाहते हैं उसे चुनने के लिए यहां:
WITH cte AS (
SELECT f.*, ROW_NUMBER() OVER (ORDER BY DECODE(ITEM_NO, 'A15354', 1,
'CURR_NOT_IN_TABLE', 2,
'GR0013', 3,
'GUOIUW', 4, 5)) rn
FROM fruit f
WHERE spoiled = 'Y'
)
SELECT ITEM_NAME
FROM cte
WHERE rn = 1;
यहां विचार यह है कि खराब होने वाली प्रत्येक वस्तु के लिए 1 से 5 तक प्राथमिकता दी जाए। हम ROW_NUMBER
. का उपयोग करते हैं एक अनुक्रम उत्पन्न करने के लिए जो हमेशा 1 से शुरू होता है जो सर्वोच्च उपलब्ध प्राथमिकता है।