提问者:小点点

使用knex从mysql获取最新日期


"SELECT * FROM stocks WHERE timestamp IN (SELECT max(timestamp) FROM stocks) AND industry = 'Health Care'"

上面是我以前使用过的查询,但是现在我需要将它改为knex形式。 我可以接受其他人,但不知道如何将where条件更改为knex形式。

每个股票都有上千个日期,我只想从中得到最多的日期。 有很多简单查询的例子,但没有knex形式的例子。


共2个答案

匿名用户

你知道怎么重写这个吗?

SELECT s.* 
  FROM stocks s
  JOIN (SELECT max(timestamp) ts FROM stocks) x 
    ON x.ts = s.timestamp
 WHERE s.industry = 'Health Care'

匿名用户

router.get("/api/stock", function (req, res, next) {
  req.db
    .from("stocks")
    .select("*")
    .where("name", "=","Agilent Technologies Inc" )
    .then((rows) => {
      res.json({ Error: false, Message: "Success", City: rows })
    })
    .catch((err) => {
      console.log(err)
      res.json({ Error: false, Message: "Error in MySQL query" })
    })
})

这是我到目前为止想出来的,它打印出大约100行。 因为我没有提出任何条件。。。 但不知道从哪里开始