zoukankan      html  css  js  c++  java
  • 取出分组后每组的第一条记录(不用group by)按时间排序

    操作日志表
    CREATE TABLE JobLog  -- 操作日志表
    (
        JobLogId] int NOT NULL ,       -- 主键
        FunctionId nvarchar(20) NULL , -- 功能Id
        OperateTime datetime NULL      -- 操作时间
    ) ON PRIMARY
    GO
    ALTER TABLE JobLog ADD
    CONSTRAINT PK_JobLog PRIMARY KEY CLUSTERED(JobLogId) ON PRIMARY
    GO

    -- 操作日志表的所有记录
    SELECT * FROM JobLog
    查询结果:
    1    001    2007-11-01
    2    001    2007-11-02
    3    001    2007-11-03
    4    002    2007-11-04
    5    002    2007-11-05
    6    003    2007-11-06
    7    004    2007-11-07
    8    004    2007-11-08
    9    005    2007-11-09
    10  005    2007-11-10

    -- 每个功能最后一次操作记录
    SELECT * FROM JobLog A
     WHERE JobLogId in
           (SELECT TOP 1 JobLogId FROM JobLog
             WHERE A.FunctionId = FunctionId ORDER BY OperateTime DESC
           )
    查询结果:
    3    001    2007-11-03
    5    002    2007-11-05
    6    003    2007-11-06
    8    004    2007-11-08
    10  005    2007-11-10

  • 相关阅读:
    其实吧
    一个很SB的方法,来开始调一个刚启动就SB的程序
    今天真的很SB
    32位程序关闭路径重定向
    WinDbg神断点
    SQLMap用户手册【超详细】

    真有敢干的
    21.递归
    16.数字大小升降排序编写
  • 原文地址:https://www.cnblogs.com/MyBeN/p/2646102.html
Copyright © 2011-2022 走看看