代码之家  ›  专栏  ›  技术社区  ›  Marc Rasmussen

数字最高的环回findone

  •  0
  • Marc Rasmussen  · 技术社区  · 5 年前

    我正在使用环回获取我的数据。我有下表:

    id, name, version_number
    

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

    假设我有以下数据:

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

    我想找唱片 1, 'hello', 2

    从文档中,我似乎找不到任何符合我需要的东西。有人能告诉我怎么做吗?

    请注意,我不是在找 find 我们订购的功能 版本号 我在找一个 findMax 功能种类

    3 回复  |  直到 5 年前
        1
  •  2
  •   jarlh    5 年前

    使用 FETCH FIRST 结合 ORDER BY 要查找版本号最高的行:

    select * from tablename
    order by version_number desc
    fetch first 1 row only
    
        2
  •  0
  •   Treycos    5 年前

    尝试以下操作:

    SELECT * FROM table t where 
       version_number IN (select max(version_number) from table v)
    
        3
  •  0
  •   dun32    5 年前

    我会这样做:

    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]));
        });
      });
    }
    

    作为一种远程方法,钩子,中间件,任何适合您需要的东西。