आपकी मौजूदा क्वेरी के बारे में ऐसा क्या है जो आपको पसंद नहीं है? यदि आप चिंतित हैं कि DISTINCT
दो स्तंभों में केवल अनूठे क्रमपरिवर्तन नहीं हैं तो इसे क्यों नहीं आज़माएं?
यह निश्चित रूप से काम करता है जैसा कि आप ओरेकल में उम्मीद कर सकते हैं।
SQL> select distinct deptno, job from emp
2 order by deptno, job
3 /
DEPTNO JOB
---------- ---------
10 CLERK
10 MANAGER
10 PRESIDENT
20 ANALYST
20 CLERK
20 MANAGER
30 CLERK
30 MANAGER
30 SALESMAN
9 rows selected.
SQL> select count(*) from (
2 select distinct deptno, job from emp
3 )
4 /
COUNT(*)
----------
9
SQL>
संपादित करें
मैं एनालिटिक्स के साथ एक अंधे गली में चला गया, लेकिन जवाब निराशाजनक था ...
SQL> select count(distinct concat(deptno,job)) from emp
2 /
COUNT(DISTINCTCONCAT(DEPTNO,JOB))
---------------------------------
9
SQL>
संपादित करें २
निम्नलिखित आंकड़ों को देखते हुए उपर्युक्त समाधान प्रदान करना गलत होगा:
col1 col2
---- ----
A AA
AA A
तो हम एक विभाजक शामिल करने के लिए ...
select col1 + '*' + col2 from t23
/
स्पष्ट रूप से चुने हुए विभाजक को एक चरित्र, या वर्णों का सेट होना चाहिए, जो कभी भी किसी भी कॉलम में प्रकट नहीं हो सकता है।