SQL Server-如何选择每个用户的最新记录?

问题描述

| 我正在尝试执行一个SQL命令,该命令应该在进入数据库的最后一行上绘制。 基本上,当用户提交最后一个线程时(例如在此论坛中),它会将用户重定向到包含其线程标题,线程段落和数据(例如用户名和线程提交时间)的页面。 我开始处理该声明:
SELECT @UserID,u.UsersName,t.ThreadTitle,t.ThreadParagraph
FROM Users as u
INNER JOIN Threads as t ON u.UserID = t.UserID
Where @UserID = t.UserId
我的问题是我需要添加一些语句或聚合函数以向我返回在线程表中输入的最后一行。我该怎么做呢?我需要添加什么?     

解决方法

        在MS SQL中,您可以为此使用“ 1”,还需要按创建的日期时间列降序进行排序。
SELECT TOP 1 @UserID,u.UsersName,t.ThreadTitle,t.ThreadParagraph
FROM Users as u
    INNER JOIN Threads as t ON u.UserID = t.UserID
Where @UserID=t.UserId
ORDER BY [YourDateTimeFiled] DESC
    ,        我不确定我是否完全理解您的问题,但是如果您有线程ID(线程表中的主键),请尝试执行此操作
SELECT @UserID,t.ThreadParagraph
FROM Users as u
INNER JOIN Threads as t ON u.UserID = t.UserID
Where @UserID=t.UserId
ORDER BY t.id DESC
LIMIT 0,1
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...