我有以下查询,查找 TOP 5Products匹配搜索。每个Product与一个相关联Shop
从产品中选择前 5 名 *
p,商店 s WHERE p.ShopId =
s.ShopId 和 p.ProductName 类似
'%圣诞节%'
我需要扩展它,以便它返回 TOP 5Products in each Shop.
谁能告诉我如何修改查询以实现此目的? - 即选择与“%christmas%”匹配的前 5 个产品each商店(而不是当前显示与“%christmas%”匹配的 TOP 5 产品all shops).
您实际上缺少一个 ORDER BY 来使 TOP 有意义,或者任何基于 ROW_NUMBER 的解决方案需要 ORDER BY。
SELECT
*
FROM
Shops s
CROSS APPLY (
SELECT TOP 5
*
FROM
Products p
WHERE
p.ShopId = s.ShopId AND p.ProductName LIKE '%christmas%'
ORDER BY --added on edit
???
) X
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)