我有这样的查询,它给我关于畅销书商品的结果,目前它可以正常工作,但现在我只想从每个商店获得一个产品,以便拥有不同的si
。对查询计数不同的行的MySQL查询
+--------+---------+-------+
| id | shop_id | count |
+--------+---------+-------+
| 425030 | 38027 | 111 |
| 291974 | 5368 | 20 |
| 425033 | 38027 | 18 |
| 291975 | 5368 | 12 |
| 142776 | 5368 | 10 |
| 397016 | 38027 | 9 |
| 291881 | 5368 | 8 |
+--------+---------+-------+
任何想法:从商店
SELECT `si`.`id`, si.shop_id,
(SELECT COUNT(*)
FROM `transaction_item` AS `tis`
JOIN `transaction` as `t`
ON `t`.`id` = `tis`.`transaction_id`
WHERE `tis`.`shop_item_id` = `si`.`id`
AND `t`.`added_date` >= '2014-02-26 00:00:00')
AS `count`
FROM `shop_item` AS `si`
INNER JOIN `transaction_item` AS `ti`
ON ti.shop_item_id = si.id
GROUP BY `si`.`id`
ORDER BY `count` DESC LIMIT 7
这给了像亩的结果shop_id
只有一个畅销的产品?
编辑 所以我创建了一个捣鼓它 http://sqlfiddle.com/#!2/cfc4c/1
现在查询返回卖得最好的,我希望它从shopso小提琴的结果只返回一个产品的产品应该是
+----+---------+-------+
| ID | SHOP_ID | COUNT |
+----+---------+-------+
| 1 | 222 | 3 |
| 4 | 333 | 2 |
| 8 | 555 | 1 |
| 9 | 777 | 1 |
+----+---------+-------+
请提供一些示例数据和期望的结果。你怎么知道交易中的物品? –