Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MYsql在我的本地机器上出错。但在live上运行良好_Php_Mysql_Localhost - Fatal编程技术网

Php MYsql在我的本地机器上出错。但在live上运行良好

Php MYsql在我的本地机器上出错。但在live上运行良好,php,mysql,localhost,Php,Mysql,Localhost,这是我的MySQL查询 SELECT sum(quantity) as quantity_sold, `gc_order_items`.`name` as `name`, `sku` FROM `gc_orders` JOIN `gc_order_items` ON `gc_order_items`.`order_id` = `gc_orders`.`id` WHERE `status` != 'cart' AND `gc_order_items`.`type` = 'product' GROU

这是我的MySQL查询

SELECT sum(quantity) as quantity_sold, `gc_order_items`.`name` as `name`, `sku` FROM `gc_orders` JOIN `gc_order_items` ON `gc_order_items`.`order_id` = `gc_orders`.`id` WHERE `status` != 'cart' AND `gc_order_items`.`type` = 'product' GROUP BY `product_id`
我在本地服务器上收到此错误

SELECT列表的表达式#2不在GROUP BY子句中,它包含 未聚合列“go.gc\u order\u items.name”,该列不是 功能上依赖于GROUP BY子句中的列;这是 与sql\u模式不兼容=仅\u完整\u组\u由 请帮忙


以下是您当前的查询:

SELECT
    SUM(quantity) AS quantity_sold,
    gc_order_items.name AS name,
    sku
FROM gc_orders
INNER JOIN gc_order_items
    ON gc_order_items.order_id = gc_orders.id
WHERE status != 'cart' AND
      gc_order_items.type = 'product'
GROUP BY product_id
在本地计算机上,模式很可能已打开。在符合ANSI SQL标准的这种模式下,
GROUP BY
聚合查询中的每一列必须出现在
GROUP BY
子句中,或者出现在聚合函数中,例如
SUM()
。在上述查询中,您选择的是
sku
name
列,但它们既不出现在
GROUP BY
中,也不出现在聚合函数中,因此出现错误

在实时机器上,我猜严格模式已关闭,这允许您继续查询

下面是一个关于您的查询版本的猜测,该版本可以在任何地方正确运行:

SELECT
    t2.quantity_sold,
    t2.name,
    t1.sku
FROM gc_orders t1
INNER JOIN
(
    SELECT order_id, name, SUM(quantity) AS quantity_sold
    FROM gc_order_items
    WHERE type = 'product'
    GROUP BY order_id, name
) t2
    ON t1.id = t2.order_id
WHERE t1.status != 'cart'

以下是您当前的查询:

SELECT
    SUM(quantity) AS quantity_sold,
    gc_order_items.name AS name,
    sku
FROM gc_orders
INNER JOIN gc_order_items
    ON gc_order_items.order_id = gc_orders.id
WHERE status != 'cart' AND
      gc_order_items.type = 'product'
GROUP BY product_id
在本地计算机上,模式很可能已打开。在符合ANSI SQL标准的这种模式下,
GROUP BY
聚合查询中的每一列必须出现在
GROUP BY
子句中,或者出现在聚合函数中,例如
SUM()
。在上述查询中,您选择的是
sku
name
列,但它们既不出现在
GROUP BY
中,也不出现在聚合函数中,因此出现错误

在实时机器上,我猜严格模式已关闭,这允许您继续查询

下面是一个关于您的查询版本的猜测,该版本可以在任何地方正确运行:

SELECT
    t2.quantity_sold,
    t2.name,
    t1.sku
FROM gc_orders t1
INNER JOIN
(
    SELECT order_id, name, SUM(quantity) AS quantity_sold
    FROM gc_order_items
    WHERE type = 'product'
    GROUP BY order_id, name
) t2
    ON t1.id = t2.order_id
WHERE t1.status != 'cart'