SQL / PHP:在网站的滑块中显示来自数据库的前3个最畅销/浏览过的产品图像

时间:2017-03-25 05:51:28

标签: php mysql

这是我正在使用的查询

select
   sum (order meta . order qty) as total,
   product.p pic as pic 
from
   product 
   join order meta 
      on product . p id = order meta . p id 
   join order meta 
      on product . order meta id = order meta . order meta id 
group by
   order meta .p id 
order by
   total desc limit = 3;

但这不起作用。

注意:我是新的堆栈..并且在添加表名时。它给了我一个错误..所以我在表名中给了空格......否则我的表名中没有空格。 :D:D

这些是表格

  1. product = p id / p title / p desc / p pic / p qty / p price / p date。
  2. order =订单ID /金额/折扣/状态/付款网关/日期。
  3. 订单meta =订单元ID /订单订单ID /订单p id /订单数量/订单用户ID /金额。

1 个答案:

答案 0 :(得分:0)

您需要围绕具有空格的表名和列名进行反引号。您需要为多次加入的表分配别名。 =子句中没有LIMIT

select
   sum(om2.`order qty`) as total,
   product.`p pic` as pic 
from
   product 
   join `order meta` AS om1
      on product.`p id` = om1.`order p id` 
   join `order meta` AS om2
      on product.`order meta id` = om2.`order meta id`
group by
   om1.`order p id` 
order by
   total desc 
limit 3;

我不确定你为什么要加入order meta两次,因为你似乎没有在select列表中使用其中任何一个。