Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Grupowanie wielu instrukcji Mysql w celu pobrania liczby wielu statusów

Użyj CASE oświadczenie zamiast wielu zapytań

Model:

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');
 }

Widok:

Nie twórz kodu HTML w kontrolerze, ponieważ jest to zła praktyka w MVC. Użyj foreach pętla w pliku widoku, aby wyświetlić wartości Przeczytaj więcej o Widokach 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>

Przeczytaj więcej o Sprawozdaniu 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. Obiekty zapytań Django zwracają None zamiast 0, mimo że baza danych ma zapisane 0 jako wartość pola

  2. Usuń wszystkie wiersze, które nie mają identyfikatora w innej tabeli

  3. Złożone zapytanie php mysqli do wstawiania danych, jeśli nie istnieją:uzyskiwanie zduplikowanej nazwy kolumny '?'

  4. Jak uzyskać aktualną datę i godzinę w MySQL?

  5. MySQL — Model listy sąsiedztwa — Uzyskaj głębię