【问题标题】:select multiple rows from tow tables by duplicates of one table通过一个表的重复项从两个表中选择多行
【发布时间】:2016-01-16 19:23:08
【问题描述】:
我要列出畅销书
我有 SALE 表中已售产品的重复列表,并想从 PRODUCT 表中选择这些产品属性
我从表 SALE 中查找重复项的查询是:
SELECT product, COUNT(*) AS COUNT
FROM sale
GROUP BY product
HAVING COUNT(*) > 1
ORDER BY COUNT DESC
此查询列出了我的bestsellers products,如何按此顺序从PRODUCT 表中列出这些产品属性
【问题讨论】:
标签:
mysql
join
duplicates
【解决方案1】:
在 MySQL 中,您可以只加入产品表:
SELECT p.product, COUNT(*) AS COUNT
FROM product p JOIN
sale s
ON p.product = s.product
GROUP BY p.product
HAVING COUNT(*) > 1
ORDER BY COUNT DESC ;
这假定p.product 是PRODUCT 上的主键,它将它链接到SALES。另外,您是只计算“订单”,还是有一个您也关心的“数量”字段?