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

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

5个回答

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

应该写成select+库的名字

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

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

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!