SQL中选择每个分组的第一行
在数据库管理中,经常需要检索特定数据集以进行分析或报告。这包括选择表中每个记录组的第一行。
假设您有两个表:
问题:
您的任务是选择当前月份和年份中SM_SalesRepWorkflow表中每个销售代表(SalesRepId)的详细信息的第一行。
解决方案:
为此,您可以使用SQL中的ROW_NUMBER()函数:
<code class="language-sql">SELECT * FROM ( SELECT workflowid, salesRepId, quantityAssigned, quantityLeft, month, year , ROW_NUMBER() OVER (PARTITION BY salesRepId ORDER BY workflowid) AS rownumber FROM sm_salesRepWorkflow ) AS subquery WHERE rownumber = 1;</code>
解释:
此查询有效地标识了指定月份和年份中每个销售代表的第一行记录。它提供了一个简洁的输出,如问题陈述中所示:
通过应用ROW_NUMBER()函数,您可以高效地检索表中每个分组的第一行数据,从而根据所需参数进行进一步分析或报告。
以上是如何在SQL中选择每组的第一行?的详细内容。更多信息请关注PHP中文网其他相关文章!