Site icon บริษัท โค๊ดบี จำกัด

MySQL วิธี Query ข้อมูลซ้ำกัน

MySQL-วิธี-Query-ข้อมูลที่ซ้ำกัน

MySQL-วิธี-Query-ข้อมูลที่ซ้ำกัน

&NewLine;<p class&equals;"wp-block-paragraph">MySQL วิธี Query ข้อมูลที่ซ้ำกัน ในฐานข้อมูลประเภท SQL อย่าง MySQL มีวิธีในการตรวจสอบข้อมูลแต่ละ Record ที่ซ้ำกัน โดยการใช้คำสั่งอย่าง GROUP BY&comma; HAVING&comma; COUNT เป็นต้น ซึ่งในการเขียนคำสั่งอาจจะมีวิธีที่แตกต่างกันไปตามแนวทางการเขียนของโปรแกรมเมอร์แต่ละท่าน <&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph">สำหรับกระทู้นี้จะมาแนะนำอีกหนึ่งวิธีเขียน สำหรับตรวจสอบข้อมูลที่ซ้ำกันใน Column ตัวอย่างเช่นในขั้นตอนการพัฒนาเว็บไซต์ เราอาจจะมีบางขั้นตอนที่เว็บไซต์หรือโปรแกรมของเรา จำเป็นจะต้องทราบก่อนว่ามีข้อมูลซ้ำกันอยู่หรือไม่ ถ้ามีต้องทำอย่างไร อาจจะลบข้อมูลซ้ำออกไปก่อน ค่อยทำงานต่อ เป็นต้น<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph">สำหรับวิธีตรวจสอบว่ามีข้อมูลซ้ำกันในตารางฐานข้อมูล และ Column ไหน เราสามารถเขียนเงื่อนไขได้ดังนี้<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<pre class&equals;"wp-block-code"><code lang&equals;"sql" class&equals;"language-sql">SELECT col&comma; COUNT&lpar;col&rpar; FROM table&lowbar;name GROUP BY col HAVING COUNT&lpar;col&rpar; &gt&semi; 1&semi;<&sol;code><&sol;pre>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph"><&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph"><&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph"><&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph"><&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph"><&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph">ทดสอบการทำงานจากตารางฐานข้อมูลจริง โดยใช้คำสั่งสร้างตารางฐานข้อมูลชื่อว่า tb&lowbar;name และ insert ข้อมูลลงไป โดยให้มีข้อมูลซ้ำใน Column ชื่อว่า name&lowbar;th และ name&lowbar;en ดังนี้<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<pre class&equals;"wp-block-code"><code lang&equals;"sql" class&equals;"language-sql">CREATE TABLE &grave;tb&lowbar;name&grave; &lpar;&NewLine; &grave;id&grave; int&lpar;11&rpar; NOT NULL&comma;&NewLine; &grave;name&lowbar;th&grave; varchar&lpar;200&rpar; COLLATE utf8&lowbar;unicode&lowbar;ci NOT NULL&comma;&NewLine; &grave;name&lowbar;en&grave; varchar&lpar;200&rpar; COLLATE utf8&lowbar;unicode&lowbar;ci NOT NULL&NewLine;&rpar; ENGINE&equals;InnoDB DEFAULT CHARSET&equals;utf8 COLLATE&equals;utf8&lowbar;unicode&lowbar;ci&semi;&NewLine;&NewLine;INSERT INTO &grave;tb&lowbar;name&grave; &lpar;&grave;id&grave;&comma; &grave;name&lowbar;th&grave;&comma; &grave;name&lowbar;en&grave;&rpar; VALUES&NewLine;&lpar;1&comma; 'ปราโมทย์'&comma; 'PRAMOT'&rpar;&comma;&NewLine;&lpar;2&comma; 'ธงชัย'&comma; 'THONGCHAI'&rpar;&comma;&NewLine;&lpar;3&comma; 'กชณิชา'&comma; 'KOTNICHA'&rpar;&comma;&NewLine;&lpar;4&comma; 'ธงชัย'&comma; 'THONGCHAI'&rpar;&semi;<&sol;code><&sol;pre>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph">จากนั้นใช้คำสั่งเพื่อแสดงข้อมูล name&lowbar;th ที่ซ้ำกันและจำนวนที่ซ้ำกันว่ามีกี่ column ได้ดังนี้<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<pre class&equals;"wp-block-code"><code lang&equals;"sql" class&equals;"language-sql">SELECT name&lowbar;th&comma; COUNT&lpar;name&lowbar;th&rpar; FROM tb&lowbar;name GROUP BY name&lowbar;th HAVING COUNT&lpar;name&lowbar;th&rpar; &gt&semi; 1&semi;<&sol;code><&sol;pre>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph"><&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph">ผลลัพธ์ที่ได้จากคำสั่งด้านบน ก็จะแสดงชื่อ &&num;8220&semi;ธงชัย&&num;8221&semi; ที่เป็นชื่อที่ซ้ำกัน และ จำนวนที่ซ้ำกันคือ 2<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph"><&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph"><&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph"><&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph"><&sol;p>&NewLine;

Exit mobile version