在WHERE .. IN子句中选择每个元素的前n个结果,可以通过以下步骤实现:
以下是一个示例查询,演示如何在WHERE .. IN子句中选择每个元素的前2个结果:
SELECT *
FROM table_name
WHERE column_name IN (
SELECT column_name
FROM (
SELECT column_name, ROW_NUMBER() OVER (PARTITION BY element_column ORDER BY sort_column) AS row_number
FROM table_name
) AS subquery
WHERE row_number <= 2
)
在上述示例中,table_name是要查询的表名,column_name是要查询的列名,element_column是WHERE .. IN子句中的元素列名,sort_column是用于排序的列名,2是要选择的前n个结果的数量。
请注意,上述示例中的语法是通用的SQL语法,并不特定于某个云计算品牌商。根据具体的数据库系统和语法规则,可能会有一些差异。
领取专属 10元无门槛券
手把手带您无忧上云