SQL/PHP:显示数据库中最畅销的三大产品

SQL/PHP:显示数据库中最畅销的三大产品,php,mysql,sql,mysqli,count,Php,Mysql,Sql,Mysqli,Count,我有一个包含以下表格的数据库: - product (product_id / name / price / image_id / description) - order ( order_id / date / status / email ) - order_count ( order_id / product_id / number ) - image (image_id / image_link ) 我想在我的主页上展示3种最畅销的产品,但我不能全神贯注地这样做 我试过这个:

我有一个包含以下表格的数据库:

 - product (product_id / name / price / image_id / description)
 - order ( order_id / date / status / email )
 - order_count ( order_id / product_id / number )
 - image (image_id / image_link )
我想在我的主页上展示3种最畅销的产品,但我不能全神贯注地这样做

我试过这个:

$sql = "SELECT" * 
FROM 'product' INNER JOIN 'afbeelding' 
WHERE 'product'.'image_id' = 'afbeelding'.'image_id'
GROUP BY 'product_id'
ORDER BY 'product_id' DESC
LIMIT 3;";
我似乎无法找到在该查询中放置“计数”的位置和方式。。
谢谢

请尝试以下查询:

$sql = "SELECT p.*,af.*, IFNULL(SUM(oc.number), 0) as total_quantity 
FROM (`product` as p) 
INNER JOIN `afbeelding` as af ON `af`.`image_id` = `p`.`image_id` 
INNER JOIN `order_count` as oc ON `oc`.`product_id` = `p`.`product_id` 
GROUP BY `p`.`product_id` ORDER BY `total_quantity` DESC LIMIT 3";
试试这个:

SELECT * FOM products p INNER JOIN order_count oc 
ON p.product_id=oc.product_id 
GROUP BY 'product_id'
ORDER BY 'product_id' DESC
LIMIT 3;";
试试这个:

$sql = "SELECT SUM(order_count.number) AS total, image.image_link AS image_link 
FROM product JOIN order_count 
ON product.product_id = order_count.product_id 
JOIN image ON product.image_id = image.image_id
GROUP BY order_count.product_id 
ORDER BY total DESC 
LIMIT 3";

选择p.name作为“产品名称”,选择x.total作为“总计” 来自产品p 内部联接选择product_id作为product_id,sumnumber作为订单计数组中按product_id x计算的总数 在x.product\u id=p.product\u id上
按x订购。总描述限值3

将count*放入选择列表中。我尝试了您的所有建议,但在重新加载显示php/sql的页面时,大多数返回错误为500或根本不返回。'product'是字符串'product'是表标识符Hanks很多,这最终确实有效!如果你来荷兰,我就给你拿杯啤酒-还有一件事。。我还需要显示我链接到产品的图像。。只是无法让它显示任何图像。。关于我需要在哪里放置这段代码的任何想法,我想这是我需要显示图像产品的代码。image_id=afbeelding.image_idI编辑了代码以包括加入图像数据库表,如果它对您有效,请尝试。这对您来说是两杯啤酒!再次感谢!