【问题标题】: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 中生成语法错误。

标签: php sql sql-server sqlsrv


【解决方案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)";

【讨论】:

    猜你喜欢
    • 2012-01-12
    • 1970-01-01
    • 1970-01-01
    • 2020-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多