查询左连接获取数据问题-Mysql
我用左键连接两个表。当我使用select选择全部时,所有行都会出现(查询1)。但当我使用select拉一些行时,我只加载一个数据,而不是加载图1中的所有数据。原因是什么 加载所有数据查询1 查询1:查询左连接获取数据问题-Mysql,mysql,sql,Mysql,Sql,我用左键连接两个表。当我使用select选择全部时,所有行都会出现(查询1)。但当我使用select拉一些行时,我只加载一个数据,而不是加载图1中的所有数据。原因是什么 加载所有数据查询1 查询1: SELECT * FROM oc_review AS OYLAMA JOIN oc_product AS PRODUCT ON (PRODUCT.product_id = OYLAMA.product_id) INNER JOIN oc_product_to_category AS
SELECT *
FROM oc_review AS OYLAMA
JOIN oc_product AS PRODUCT
ON (PRODUCT.product_id = OYLAMA.product_id)
INNER JOIN oc_product_to_category AS KATEGORI
ON (KATEGORI.product_id = PRODUCT.product_id)
WHERE KATEGORI.category_id = 69
SELECT
AVG(ALL OYLAMA.rating) AS ORTALAMA,
COUNT(OYLAMA.rating) AS TOPLAMOY
FROM oc_review AS OYLAMA
JOIN oc_product AS PRODUCT
ON (PRODUCT.product_id = OYLAMA.product_id)
INNER JOIN oc_product_to_category AS KATEGORI
ON (KATEGORI.product_id = PRODUCT.product_id)
WHERE KATEGORI.category_id = 69
仅加载1个数据查询2
查询2:
SELECT *
FROM oc_review AS OYLAMA
JOIN oc_product AS PRODUCT
ON (PRODUCT.product_id = OYLAMA.product_id)
INNER JOIN oc_product_to_category AS KATEGORI
ON (KATEGORI.product_id = PRODUCT.product_id)
WHERE KATEGORI.category_id = 69
SELECT
AVG(ALL OYLAMA.rating) AS ORTALAMA,
COUNT(OYLAMA.rating) AS TOPLAMOY
FROM oc_review AS OYLAMA
JOIN oc_product AS PRODUCT
ON (PRODUCT.product_id = OYLAMA.product_id)
INNER JOIN oc_product_to_category AS KATEGORI
ON (KATEGORI.product_id = PRODUCT.product_id)
WHERE KATEGORI.category_id = 69
MySQL创建了一个单独的组,在该组中,只要引入聚合函数(如
AVG()
和COUNT()
),所有记录都会被放入其中。有关更多信息,请参见问题
您可能需要明确指定一个GROUP BY
子句,并将GROUP BY
之后的字段也添加到SELECT
中,例如:
选择
PRODUCT.PRODUCT\u id,
奥塔拉马的平均值(所有奥亚拉马评级),
将(OYLAMA.评级)计算为TOPLAMOY
来自OYLAMA的oc_审查
作为产品加入oc_产品
ON(PRODUCT.PRODUCT\u id=OYLAMA.PRODUCT\u id)
内部将oc_产品_作为KATEGORI加入_类别
ON(KATEGORI.product\u id=product.product\u id)
其中KATEGORI.category_id=69
按产品分组。产品标识
MySQL创建一个组,在该组中,只要引入聚合函数,如AVG()
和COUNT()
,所有记录都会被放入其中。有关更多信息,请参见问题
您可能需要明确指定一个GROUP BY
子句,并将GROUP BY
之后的字段也添加到SELECT
中,例如:
选择
PRODUCT.PRODUCT\u id,
奥塔拉马的平均值(所有奥亚拉马评级),
将(OYLAMA.评级)计算为TOPLAMOY
来自OYLAMA的oc_审查
作为产品加入oc_产品
ON(PRODUCT.PRODUCT\u id=OYLAMA.PRODUCT\u id)
内部将oc_产品_作为KATEGORI加入_类别
ON(KATEGORI.product\u id=product.product\u id)
其中KATEGORI.category_id=69
按产品分组。产品标识
谢谢,但是,只打印2个值,因为69类似乎只有两个产品,占了这两行。你想要什么样的计数和平均值?通过我的例子,你可以得到每种产品的数量和平均值。看来你想要不同的东西。可能是每个产品和客户?或者仅针对每个客户?您是否注意到我的示例代码末尾的GROUP BY
?虽然有两个以上的产品,但只显示其中的两个,不幸的是sql查询无法工作。可能尝试删除AVG(ALL OYLAMA.rating)
中的ALL
。我不知道那是干什么用的。另外,请尝试直接在PHP外部对数据库运行查询,以确保不是PHP干扰了查询结果。谢谢,但是,只打印2个值,因为类别69似乎只有两个产品,占了这两行。你想要什么样的计数和平均值?通过我的例子,你可以得到每种产品的数量和平均值。看来你想要不同的东西。可能是每个产品和客户?或者仅针对每个客户?您是否注意到我的示例代码末尾的GROUP BY
?虽然有两个以上的产品,但只显示其中的两个,不幸的是sql查询无法工作。可能尝试删除AVG(ALL OYLAMA.rating)
中的ALL
。我不知道那是干什么用的。另外,还可以尝试直接在PHP外部对数据库运行查询,以确保不是PHP干扰了查询结果。没有人会读那一行代码。请正确格式化代码。没有人会去读那一行代码。