Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

แยกสิ่งอันดับด้วยค่าทั่วไปที่ระบุในคอลัมน์อื่นใน MySQL หรือไม่


ในการแยกทูเพิลด้วยค่าทั่วไปที่ระบุ ให้ใช้ไวยากรณ์ต่อไปนี้ -

เลือก DISTINCTaliasName.yourColumnName1,aliasName.yourColumnName2,aliasName1.yourColumnName1,aliasName1.yourColumnName2FROM yourTableName aliasNameINNER JOIN yourTableName aliasName1ON aliasName.yourColumnName1 ='ColumnName2'yourTableName aliasNameINNER JOIN yourTableName aliasName1ON aliasName.yourColumnName1 ='ColumnName'2'ค่า' aliasNamen1.ของคุณ> 

เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้ −

mysql> สร้างตาราง extractTuples -> ( -> Id int, -> Name varchar(20), -> ข้อความความคิดเห็น -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.77 วินาที)

แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −

mysql> แทรกลงในค่า extractTuples (1,'John','hi'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.20 วินาที)mysql> แทรกลงในค่า extractTuples (2,'Carol','hello'); แบบสอบถาม ตกลง ได้รับผลกระทบ 1 แถว (0.17 วินาที)mysql> แทรกลงในค่า extractTuples (3,'John','Amazing'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที)mysql> แทรกลงในค่า extractTuples (1,'Carol', 'ดี');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.14 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −

mysql> เลือก *จาก extractTuples;

ผลลัพธ์

<ก่อนหน้า>+------+-------+----------+| รหัส | ชื่อ | ความคิดเห็น |+------+-------+----------+| 1 | จอห์น | สวัสดี || 2 | แครอล | สวัสดี || 3 | จอห์น | น่าทึ่ง || 1 | แครอล | ดี |+------+-------+----------+4 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อแยกสิ่งอันดับด้วยค่าทั่วไปที่ระบุ -

mysql> SELECT DISTINCT tbl.Id,tbl.Name,tbl1.Id,tbl1.Name -> FROM extractTuples tbl -> เข้าร่วมภายใน extractTuples tbl1 -> เปิด tbl.Id =tbl1.Id -> WHERE tbl.Name ='John' และ tbl1.Name ='Carol';

ผลลัพธ์

<ก่อนหน้า>+------+------+------+-------+| รหัส | ชื่อ | รหัส | ชื่อ |+------+------+------+-------+| 1 | จอห์น | 1 | Carol |+------+------+------+------- +1 แถวในชุด (0.00 วินาที)