代码之家  ›  专栏  ›  技术社区  ›  TSCAmerica.com

带顶记录的group by子句-mysql

  •  0
  • TSCAmerica.com  · 技术社区  · 7 年前

    我已经编写了下面的SQL查询,它工作得很好

    select w.lineitems_lineitemid
    ,P.电流率
    ,P.当前生效日期
    从工作订单行项目W
    加入PayscaleLoaclJobcodes P
    在p.jobcodeid=w.lineitems_lineitemid上
    其中P.PayscalesLocal_id=29
    和w.workordercurrent_workorderid=120420
    和P.CurrentEffectiveDate<='2018-05-27'
    订单
    按P.当前有效日期描述
    
    
    

    显示以下结果

    有没有一种方法只返回一条最高记录,我不想只显示结果中的第一条记录

    显示以下结果

    enter image description here

    有没有一种方法只返回一条最前面的记录,我不想只显示结果中的第一条记录

    1 回复  |  直到 7 年前
        1
  •  1
  •   t..    7 年前
    SELECT TOP 1 W.LineItems_LineItemID, P.CurrentRate, P.CurrentEffectiveDate 
      FROM WorkOrderLineItems W 
      JOIN PayScaleLoaclJObCodes P ON P.JobCodeID = W.LineItems_LineItemID 
      WHERE P.PayScalesLocal_ID = 29 AND W.WorkOrderCurrent_WorkOrderID = 120420
      AND P.CurrentEffectiveDate <= '2018-05-27' 
      ORDER BY P.CurrentEffectiveDate DESC
    

    select top子句用于指定要返回的记录数。对于你的案子,你只需要 TOP 1 就一个。

    SELECT W.LineItems_LineItemID, P.CurrentRate, P.CurrentEffectiveDate 
      FROM WorkOrderLineItems W 
      JOIN PayScaleLoaclJObCodes P ON P.JobCodeID = W.LineItems_LineItemID 
      WHERE P.PayScalesLocal_ID = 29 AND W.WorkOrderCurrent_WorkOrderID = 120420
      AND P.CurrentEffectiveDate <= '2018-05-27' 
      ORDER BY P.CurrentEffectiveDate DESC 
      LIMIT 1