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

Nhóm nhiều câu lệnh Mysql để tìm nạp số lượng nhiều trạng thái

Sử dụng CASE câu lệnh thay vì nhiều truy vấn

Mô hình:

public function summary($st_date,$end_date){
      $this->db->select("
         SUM(CASE WHEN status = 'D' THEN 1 END) AS draft,
         SUM(CASE WHEN status = 'N' THEN 1 END) AS unpublish,
         SUM(CASE WHEN status = 'Y' THEN 1 END) AS publish"
      );
      $this->db->where('added_date >=', $st_date);
      $this->db->where('added_date <=', $end_date);
      return $this->db->get('crm_listings');
 }

Xem:

Không tạo HTML trong bộ điều khiển vì đó là một thực tiễn không tốt trong MVC. Sử dụng foreach lặp lại trong tệp chế độ xem để hiển thị các giá trị Đọc thêm về Chế độ xem CI

<div class="table-responsive">
    <table class="table table-bordered table-striped">
        <tr>
           <th>Draft</th>
           <th>Unpublish</th>
           <th>Publish</th>
         </tr>
    <?php      
       if(isset($data) && count($data) > 0){
          foreach($data as $row ){ ?>
           <tr>
           <td><?= $row->draft ?></td>
           <td><?= $row->unpublish ?></td>
           <td><?= $row->publish ?></td>
           </tr>
       <?php } //Foreach end here

          } else { ?>
          <tr>
             <td colspan="5">No Data Found</td>
          </tr>
       <?php } ?>
      </table>

Đọc thêm về Tuyên bố trường hợp MySQL



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chuyển đổi chuỗi sang định dạng dấu thời gian MySQL trong php

  2. MySQL 8 bỏ qua độ dài số nguyên

  3. PHP / MYSQL Thêm nút vào cột

  4. MySQL; Loại dữ liệu tốt nhất cho số lượng lớn

  5. Điều gì xảy ra nếu tôi cần một ID tự động tăng rất lớn?