Thứ Hai, 22 tháng 6, 2015

Câu lệnh GROUP BY trong MySQL bằng MySQLi (P.2)

Trong phần trước chúng ta đã biết cách nhóm kết quả trong lap trinh PHP từ một hay nhiều trường dữ liệu trong MySQL bằng mysql. Trong phần 2 này, chúng ta sẽ đi tìm hiểu cách sử dụng câu lệnh GROUP BY trong MySQL bằng MySQLi.

Phần 2: Nhóm kết quả được thiết lập từ một hay nhiều trường dữ liệu trong MySQL bằng các câu lệnh MySQLi.

Cú pháp

SELECT tên_trường, function(tên_trường) FROM tên_bảng GROUP BY tên_trường
Trong đó:

  • tên_trường: là trường dữ liệu trong bảng.
  • tên_bảng: là bảng thao tác.
  • function: là một trong các hàm tổng hợp (như hàm SUM)


Ví dụ: Để áp dụng GROUP BY trước tiên ta cần tạo một bảng products bao gồm các trường sau:

name
price
Giả sử dữ liệu trong bảng products như sau:

name price
Iphone 10000000
Samsung 12000000
Iphone 3000000
Áp dụng để nhóm các giá trị giống nhau của trường name vào làm một. Và in ra màn hình tất cả các dữ liệu của bảng products sau khi đã nhóm.

<?php
 $host = 'localhost';
 $user = 'root';
 $pass = '';
 $dbName = 'mydb';

 $conn = mysqli_connect($host, $user, $pass, $dbName);

 $sql = "SELECT name, SUM(price) FROM products GROUP BY name";
 $query = mysqli_query($conn, $sql);

 if(mysqli_num_rows($query) > 0){
   while($rows = mysqli_fetch_array($query)){
     echo $rows['name']."---".$rows['SUM(price)']."<br />";
   }
 }else{
   echo "Không có dữ liệu trả về!";
 }

 mysqli_close($conn);
?>
Hoặc cũng có thể sử dụng đối tượng trong MySQLi

<?php
 $host = 'localhost';
 $user = 'root';
 $pass = '';
 $dbName = 'mydb';

 $conn = new mysqli($host, $user, $pass);
 $conn->select_db($dbName);

 $sql = "SELECT name, SUM(price) FROM products GROUP BY name";
 $query = $conn->query($sql);

 if($query->num_rows > 0){
 while($rows = $query->fetch_array()){
  echo $rows['name']."---".$rows['SUM(price)']."<br />";
 }
 }else{
  echo "Không có dữ liệu trả về!";
 }

$conn->close();
?>
Kết quả
iphone---13000000
samsung---12000000
 Xem tiếp: Câu lệnh GROUP BY trong MySQL bằng PDO (P.3)

ngua duong tieu

SHARE THIS

0 nhận xét:

Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.