আপনার বিদ্যমান ক্যোয়ারী সম্পর্কে এটি কী যা আপনি পছন্দ করেন না? আপনি যদি উদ্বিগ্ন হন যে 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>
সম্পাদনা 2
নিম্নলিখিত প্রদত্ত উপসংহারযুক্ত সমাধানটি প্রদান করা ভুল গণনা করবে:
col1 col2
---- ----
A AA
AA A
সুতরাং আমরা একটি বিভাজক অন্তর্ভুক্ত ...
select col1 + '*' + col2 from t23
/
স্পষ্টতই নির্বাচিত বিভাজক অবশ্যই একটি অক্ষর বা অক্ষরের সেট হতে হবে, যা কখনই কোনও কলামে উপস্থিত হতে পারে না।