Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Kết quả nhóm PHP / MySQL theo cột

Giống như mluebke đã nhận xét, sử dụng GROUP có nghĩa là bạn chỉ nhận được một kết quả cho mỗi loại. Dựa trên danh sách bạn đưa ra làm ví dụ, tôi nghĩ bạn muốn một cái gì đó như thế này:

$sql = "SELECT * FROM products WHERE category IN (10,120,150,500) GROUP BY category ORDER BY category, id";
$res = mysql_query($sql);

$list = array();
while ($r = mysql_fetch_object($res)) {
  $list[$r->category][$r->id]['name'] = $r->name;
  $list[$r->category][$r->id]['whatever'] = $r->whatever;
  // etc
}

Và sau đó lặp qua mảng. Ví dụ:

foreach ($list as $category => $products) {
  echo '<h1>' . $category . '</h1>';

  foreach ($products as $productId => $productInfo) {
    echo 'Product ' . $productId . ': ' . $productInfo['name'];
    // etc
  }

}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hàm MySQL FLOOR () - Làm tròn xuống số nguyên gần nhất

  2. Lỗi cú pháp tìm kiếm và thay thế MySQL

  3. Mã lỗi MySQL 1235

  4. kiểm tra xem một cột có chứa TẤT CẢ các giá trị của một cột khác hay không - Mysql

  5. cách chọn các bản ghi duy nhất ngẫu nhiên trên mỗi lần thực thi Truy vấn SQL