环回 findOne 数字最高的地方

Loopback findOne where number is highest

我正在使用 Loopback 获取我的数据。我有以下 table:

id, name, version_number

现在我想找到 version_number 最高的名字。

假设我有以下数据:

1, 'hello', 2
2, 'test', 1

我想找到记录1, 'hello', 2

从文档中,我似乎找不到任何符合我需要的内容。那么谁能告诉我该怎么做?

请注意,我不是在寻找 find 函数,我们按 version_number 排序,我是在寻找 findMax 类函数

使用 FETCH FIRST 结合 ORDER BY 找到最高的行 version_number:

select * from tablename
order by version_number desc
fetch first 1 row only

尝试以下操作:

SELECT * FROM table t where 
   version_number IN (select max(version_number) from table v)

我会做类似的事情:

const findMax = (model, field) => {
  return new Promise((resolve, reject) => {
    model.find({
      order: `${field} DESC, id ASC`
    }, (err, rows) => {
      if (err) return reject(err);
      resolve(rows.filter(row => row[field] === rows[0][field]));
    });
  });
}

作为远程方法、钩子、中间件,满足您的需要。