【问题标题】:SELECT SUM with date variable, for prestashopSELECT SUM 与日期变量,用于 prestashop
【发布时间】:2013-11-20 14:32:14
【问题描述】:

我想在 PHP/MYSQL 上得到结果 我有一张 ps_orders 表,价格在 total_paid

我需要询问当前日期所有价格的总和,我很难插入正确的日期。我停在这里,不工作... thnaks

....

$date = date("Y-m-d");

$query = "SELECT SUM(total_paid) FROM ps_orders WHERE delivery_date = '%$date%'";
$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_assoc($result);
echo mysql_result($result, 0);

【问题讨论】:

  • % 字符在那里做什么?
  • 对不起,我必须问日期,我想使用快乐字符。
  • 我所知道的唯一“快乐角色”通常会在晚上 7 点左右出现在酒吧。哦,当然还有圣尼古拉斯。

标签: php mysql select sum prestashop


【解决方案1】:

试试

$query = "SELECT SUM(total_paid) FROM ps_orders WHERE delivery_date = '$date'";

或

$query = "SELECT SUM(total_paid) FROM ps_orders WHERE delivery_date LIKE '%$date%'";

【讨论】:

    【解决方案2】:

    根据您的 delivery_date 字段的设置方式以及您在 $date 变量中使用的内容(时间戳与仅 m-d-y),您对 where 子句的查询看起来不错,但您也可以尝试:

    SELECT SUM(total_paid)
    FROM ps_orders
    WHERE delivery_date = $date;
    

    如果您对 delevery_date 使用日期时间字段,则必须更深入并使用范围:

    SELECT SUM(total_paid)
    FROM ps_orders
    where (delivery_date > $date
    and deliver_date < $date +interval 1 day)
    

    此链接在处理日期时也应该对您有所帮助:http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-add

    【讨论】:

      【解决方案3】:

      您可以使用以下方法之一:

      1. mysql 中的 DATE 函数将 2013-11-20 10:54:12 转换为 2013-11-20,即截断日期中的时间

        $query = "SELECT SUM(total_paid) FROM ps_orders WHERE DATE(delivery_date) = '$date'";

      2. 或者你使用 LIKE 在 $date 之后只使用一个 '%',所以这个值将匹配像 2013-11-20 10:12:13 这样的日期:

        $query = "SELECT SUM(total_paid) FROM ps_orders WHERE delivery_date like '$date%'";

      3. 或者使用字符串mysql函数SUBSTRING

        $query = "SELECT SUM(total_paid) FROM ps_orders WHERE SUBSTRING(delivery_date1, 1, 10) = '$date'";

      4. 使用日期时间和时间和BETWEEN mysql比较运算符:

        $query = "SELECT SUM(total_paid) FROM ps_orders WHERE delivery_date1 between '$date 00:00:00' 和 '$date 23:59:59'

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-11-24
        • 2011-12-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多