Devdit
 

PHP นับข้อมูลที่ซ้ำกันจากตาราง ฐานข้อมูล MySQL

3.5K

PHP นับข้อมูลที่ซ้ำกันจากตาราง ฐานข้อมูล MySQL บทความนี้สอนเขียนภาษา PHP ร่วมกับฐานข้อมูล MySQL เพื่อสร้างคำสั่ง SQL สำหรับนับข้อมูลที่ซ้ำกันจากตาราง และแสดงผลบนหน้าเว็บไซต์ สามารถเขียนโปรแกรมได้ดังนี้

 

ตัวอย่าง ตารางข้อมูล test

+----+------+
| id | name |
+----+------+
|  1 | A    |
|  2 | B    |
|  3 | C    |
|  4 | A    |
|  5 | A    |
|  6 | C    |
+----+------+

 

ตัวอย่าง PHP นับข้อมูลที่ซ้ำกันจากตาราง ฐานข้อมูล MySQL

<?php
    $conn = mysqli_connect( "127.0.0.1", "root", "", "demo" );
    mysqli_query( $conn, "SET NAMES UTF8" );

    $sql = " SELECT *, COUNT(NAME) AS count_name FROM test GROUP BY name HAVING count_name > 1 ";
    $q = mysqli_query( $conn, $sql );
    while( $f = mysqli_fetch_assoc( $q )) {
        echo $f['id']." / ".$f['name']." / ซ้ำทั้งหมด ".$f['count_name']."<br/>";
    }

    mysqli_close( $conn );
?>

ผลลัพธ์

1 / A / ซ้ำทั้งหมด 3
3 / C / ซ้ำทั้งหมด 2

คำอธิบาย

PHP นับข้อมูลที่ซ้ำกันจากตาราง ฐานข้อมูล MySQL เริ่มต้นด้วยการเชื่อมต่อ MySQL ด้วย mysqli_connect จากนั้นเขียนคำสั่ง SQL มีรายละเอียดดังนี้

1. SELECT *, COUNT(NAME) AS count_name FROM test คือ แสดงข้อมูลจากตาราง test โดยแสดงทุก columns และนับข้อมูลจาก column name ตั้งชื่อว่า count_name

2. GROUP BY name HAVING count_name > 1 คือ รวมข้อมูลที่ซ้ำกันของ column name และแสดงเฉพาะข้อมูลที่ซ้ำกัน เงื่อนไขคือ column count_name ต้องมีค่ามากกว่า 1

3. ประมวลผลคำสั่ง SQL ด้วย mysqli_query และใช้คำสั่ง mysqli_fetch_assoc ดึงข้อมูล โดย column count_name เก็บการนับข้อมูลที่ซ้ำกันจากตาราง ฐานข้อมูล MySQL

แก้ไข 2 ปีที่แล้ว
ชอบ
ลิ้งก์
แชร์
Devdit มีช่อง YouTube แล้ว
เราสร้างวิดีโอเกี่ยวกับเทคโนโลยี ทำตามง่ายๆ