เกี่ยวกับข้อความค้นหาที่คุณไม่ชอบคืออะไร หากคุณกังวลว่าDISTINCT
ทั้งสองคอลัมน์จะไม่ส่งคืนเพียงการเรียงสับเปลี่ยนที่ไม่ซ้ำใครลองดูสิ
มันทำงานได้อย่างที่คุณคาดหวังใน Oracle
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
/
เห็นได้ชัดว่าตัวคั่นที่เลือกจะต้องเป็นอักขระหรือชุดของอักขระซึ่งไม่สามารถปรากฏในคอลัมน์ใดคอลัมน์หนึ่ง