【问题标题】:Select records with latest timestamps选择具有最新时间戳的记录
【发布时间】:2014-02-06 11:47:23
【问题描述】:

我有两张表,女巫要选择用户、系统和软件

记录应该是最新的“tstamp2

第一:表系统

USER       SYSTEM           ltstamp           
======-----======----===================
User1       LA1      2013-05-06 11:27:26
User2       LA2      2013-06-07 11:27:26 

二:桌面软件

Soft     SYSTEM            tstamp2
=====----=====------===================
  Av1      LA1       2013-04-06 10:27:26
  Av2      LA1       2013-05-06 11:27:26
  Av1      LA2       2013-04-06 10:27:26
  Av2      LA2       2013-06-07 11:27:26

【问题讨论】:

    标签: mysql sql database time timestamp


    【解决方案1】:
    SELECT s.user, s.system, sw.max_tstamp, sw2.soft
    FROM
      systems s INNER JOIN (SELECT system, MAX(tstamp2) AS max_tstamp
                            FROM software
                            GROUP BY system) sw
      ON s.system = sw.system INNER JOIN software sw2
      ON s.system = sw2.system AND sw.max_tstamp=sw2.tstamp2
    

    请看小提琴here

    【讨论】:

      【解决方案2】:

      您需要一个子请求来执行此操作。例如:

      select * from systems 
      where ltstamp = (select top 1 ltstamp from systems order by ltstamp desc)
      

      【讨论】:

        【解决方案3】:

        试试这个,
        select user, system,soft , min(tstamp2) tstamp2 from systems s inner join software w on s.SYSTEM=w.SYSTEM group by user

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-01-10
          • 2023-02-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-08-28
          相关资源
          最近更新 更多