使用Lua和SQL,为什么要使用partition by子句

我在lua程序中有以下SQL语句:

k = conn:query({ live=true,
                 sql="select ReportBody
                      from OrderReports
                      where OrderId= '"..T.OrderId.."'"})

在上述语句中,我需要使用Order By子句,但是错误提示说不能在视图中使用Order By子句,因此我使用了这个查询:

k = conn:query({live = true,
                sql= "select ReportBody,
                      DENSE_RANK() over (Order by ModifyDate DESC)
                      from OrderReports
                      where OrderId = '"..T.OrderId.."'"})

但我看到在使用dense_rank()函数时几乎总是使用Partition by,因此我需要了解如果我使用Partition by会有什么区别,以及这是用来做什么的?

点赞