查询仅列出用户的最新记录
Posted
技术标签:
【中文标题】查询仅列出用户的最新记录【英文标题】:query to list only latest record of users 【发布时间】:2018-05-01 08:43:11 【问题描述】:我有一个包含 2 组表的数据库,即用户和记录。所以我想列出某个组中每个用户的最新记录,但结果是显示我刚刚的用户的最新记录和第一条记录更新记录“27/4/300”和“4/5/2108”。日期属性“tarikh”在记录表中,而 users_id 在用户表中。有人知道更好的查询以获得结果我要吗?
$sql = "SELECT * from Users, Record
WHERE Users.users_id = Record.users_id
AND Users.group_id='$users_group'
AND Record.tarikh IN (SELECT max(Record.tarikh) FROM Record
GROUP BY users_id)";
我正在使用 sql server management studio 17
【问题讨论】:
select *
与 group by
的使用表明此查询将在 SQL Server 中生成语法错误。
【参考方案1】:
试试这个。
$sql = "SELECT * from Users, Record
WHERE Users.users_id = Record.users_id
AND Users.group_id='$users_group'
AND Record.tarikh = (SELECT max(Record_nested.tarikh) FROM Record as Record_nested
where Record_nested.users_id = Record.users_id)";
【讨论】:
以上是关于查询仅列出用户的最新记录的主要内容,如果未能解决你的问题,请参考以下文章