zoukankan      html  css  js  c++  java
  • 数据库>SQL Server2005>随机遇到问题>查询name重复,id不重复,时间最新的记录

    表数据如下:

     

    问题,id字段是主键,不重复;name有重复,date是datetime类型,

    你要查询出每个name对应的最新时间,以及对应的id。

    查询结果如下:

     

    查询语句如下:

    select * from For_test as a
    where date in(select max(date) from For_test where name=a.name)

    语句解析:

    1.用表连接,首先查询出每个name对应的最新时间。

    select max(date) from For_test where name=a.name
    这条语句,进行了两张表的连接。两张表相同name的最新时间都查询出来。是不是效果如同

    select name,max(date) from For_test group by name

    因此有查询语句2,达到一样的效果

    select * from For_test as a
    where exists(select name,max(date) from For_test group by name having a.date=max(date))

    2.进行表1与表2的date关联,然后把同行的id 显示出来。

    3.思考为什么如下代码实现不了?

    select id,name,max(date) from For_test group by name,id
     

     



    合乎自然而生生不息。。。
  • 相关阅读:
    内嵌补丁(洞穴代码)
    攻防世界--game
    攻防世界--re1
    upx压缩notepad.exe(运行时压缩)
    crack Tut.ReverseMe1.exe
    HBuilder创建app 基础
    MongoDB 之pymongodb
    MongoDB 基础
    flask POOL,websocket握手
    flask flask_session,WTForms
  • 原文地址:https://www.cnblogs.com/samwu/p/2078905.html
Copyright © 2011-2022 走看看