首页 文章

SequelizeJs:按学期排序

提问于
浏览
0

我在nodejs中使用sequelizejs for SQLite . 我试着得到一个像这样的SQL:

SELECT
  id,
  description,
  created_at,
  postponed,
  done_at
FROM tasks
WHERE done_at IS NULL
ORDER by (id+postponed),postponed,id ASC
LIMIT 1

问题是 OREDR BY 中的术语 id+postponed 我试过这个:

Task.find({
          where: ["done_at is not null"],
          order: [["(id+postponed)", "ASC"], ["postponed", "ASC"], ["id", "ASC"]],
          limit: 1
        }).then(...)

但查询变为: ORDER BY task.(task_id+postponed) ASC, task.postponed ASC, task.task_id ASC

有人知道如何解决这个问题吗?

1 回答

  • 0

    我自己找到了一个解决方案:

    Task.find({
        where: ["done_at is not null"],
        order: '(id+postponed),postponed,id ASC',
        limit: 1
    }).then(...)
    

    这不是完美的,但对我有用 .

相关问题