【问题标题】:How do I count all the values in a table and echo a some certain value if that value repeats itself certain number of times?如果该值重复一定次数,我如何计算表中的所有值并回显某个值?
【发布时间】:2022-01-16 08:03:40
【问题描述】:

我有一个包含所有预订的预订数据库,现在我想限制日期,如果 1 个日期重复一定次数(出于测试目的,5 次)。我编写了一个查询来选择所有日期,但认为它只计算所有日期而不是具有相同值的日期。我如何让它做到这一点?

$sql2 = "SELECT date FROM tbl_reservations ORDER BY date ASC";
$res2 = mysqli_query($conn, $sql2);

if($res2 == TRUE)
{
    $count2 = mysqli_num_rows($res2); 

    if ($count2 > 5)
    {
        while ($rows2 = mysqli_fetch_assoc($res2))
        {
            $books = $rows2['date']; echo"\"$books\",";
        }
    }
}
?>

【问题讨论】:

    标签: php sql


    【解决方案1】:

    您可以编写以下查询以选择所有日期(重复特定次数,例如 5):

    SELECT COUNT(date) AS numberofreservations, date FROM tbl_reservations GROUP BY date HAVING numberofreservations >= 5
    

    然后你可以检查输入的日期是否包含在上面的选择中,表示日期已满。

    【讨论】:

      【解决方案2】:

      您需要按日期对预订进行分组,然后使用计数功能为您提供每个日期的记录数。

      SELECT COUNT(date) AS numberofreservations, date FROM tbl_reservations GROUP BY date
      

      也可以将日期字段的名称更改为 reservation_date 之类的名称,因为日期是一种字段类型,将其用作字段名称可能会导致混淆(并且某些数据库引擎将需要字段名称被引用,如果是保留字)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-10-15
        • 2020-03-26
        • 1970-01-01
        • 2022-01-18
        • 2019-04-24
        相关资源
        最近更新 更多