【发布时间】:2016-11-09 00:07:00
【问题描述】:
我正在尝试按型号和制造商名称对库存结果进行分组,显示匹配的商品数量和每个分组的 1 个结果。话虽如此,我想尝试检索组内的所有库存 ID。想知道这是否可能...有什么想法吗?
仅供参考 - 我正在使用 Laravel,有问题的行是 ->selectRaw(CambridgeID as CambridgeIDArray)
$getMatchingInventory = DB::table('inventory')
->selectRaw('*, count(*) as groupTotal')
->whereRaw("MATCH(ManufacturerNameMatch, SubCategoryNameMatch, MainCategoryNameMatch, Model_Name, Title_Override, Description_Old) AGAINST ('$final' IN BOOLEAN MODE)")
->selectRaw('CambridgeID as CambridgeIDArray')
->groupBy('Model_Name', 'ManufacturerNameMatch')
->having('Units_OnHand', '>=', '1')
->orderBy('ManufacturerNameMatch')
//->paginate(15);
->get();
【问题讨论】:
-
你不能把
Units_OnHand放在WHERE 语句中吗,顺便说一句?请参阅下面的答案(GROUP_CONCAT是您正在寻找的内容)。 -
@ldg 谢谢你的建议,这有助于清理一下。
-
它也应该稍微快一点,就像按 id 而不是字符串分组并在这些列上创建复合索引一样,这取决于您的数据库的大小和需求。