wuhudamahua
wuhudamahua
采纳率27.3%
2017-03-27 12:45 阅读 926

一个数据库查询的问题,sql语句应该怎么写

现有用户表USER有两个字段。ID,NAME。ID为主键。日志表LOG,四个字段ID,NAME,CONTENT,USERID。ID为主键,USERID为用户表的外键。如果希望查询出用户aa的最新一条日志,SQL语句应该怎么写

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

5条回答 默认 最新

  • Welcome_Word Welcome_Word 2017-03-27 13:28

    查不出的,你应该在LOG表里加一个timestamp,然后可以用userid查用timestamp排序,取第一或最后一个(取决于你升序还是降序)

    点赞 1 评论 复制链接分享
  • m0_38089520 m0_38089520 2017-03-27 12:54

    应该写成select+库的名字

    点赞 评论 复制链接分享
  • hhhhhggggddd _smile_yy 2017-03-27 14:08

    图片说明
    你看下这个,我觉得应该是USER的id 和LOG的userid 相同的条件下查询结果

    点赞 评论 复制链接分享
  • liyufei20082008 丨LYF丨 2017-03-29 06:55

    感觉确实不能找到最新一条,因为靠这几个字段不能标识出来最新的,或者id是自增长的,找到对应用户记录的最大的日志id就是最新的,不然只能加一个时间字段了

    点赞 评论 复制链接分享
  • m0_37742084 唐国平 2017-03-29 10:12

    1):如果LOG表里面ID字段是自增长的情况,使用下面的SQL
    SELECT
    a.name,
    b.content
    FROM
    user a,
    log b
    WHERE
    a.name = 'aa' and
    a.id = b.userid
    ORDER BY
    b.id desc

    2):如果LOG表里面ID字段不是自增长,就需要额外追加一个时间字段LOGTIME
    SELECT
    a.name,
    b.content
    FROM
    user a,
    log b
    WHERE
    a.name = 'aa' and
    a.id = b.userid
    ORDER BY
    b.logtime desc

    点赞 评论 复制链接分享

相关推荐