从 where = date 中使用上面的 distinct 选择数据后,获取行计数为零

Getting rows count as zero after slecting data from where = date as using distinct above

您好,我正在检索不同的日期,然后我试图检索具有该日期的行,但我将它们设为零.. 这是代码

$sql = "SELECT DISTINCT  date FROM video_data ORDER BY id DESC";
$result = mysqli_query($connection, $sql);
while ($row = mysqli_fetch_assoc($result)) {
   $date = $row['date'];
  echo "<tr>";
     echo "<td>$date</td>";
         $query_order = "SELECT * FROM video_data WHERE date=$date";
         $query_order_total = mysqli_query($connection,$query_order);
         var_dump($query_order);
         $total =  mysqli_num_rows($query_order_total);
     echo "<td>$total</td>";
  echo"<tr>";

但是当我选择 "SELECT * FROM video_data" 它显示正确的计数

您在 $date

前后缺少“ ”

$query_order = "SELECT * FROM video_data WHERE date='$date'";

就是说:比方说,当您在第一个查询中找到 60 个日期时,您将触发 60 个新查询来查找实际数据。

怎么样:

$sql = "SELECT COUNT(*) total, date 
        FROM video_data 
        GROUP BY date
        ORDER BY date DESC";
$result = mysqli_query($connection, $sql);
while ($row = mysqli_fetch_assoc($result)) {
  echo "<tr>";
  echo "<td>". $row['date'] ."</td>";
  echo "<td>". $row['total']. "</td>";
  echo"<tr>";
}