2017-08-24 10 views
1

主キーを使用して結果をソートし、返された結果の数を制限するクエリを実行します。 idが主キーであるとsortパラメータは、私が手idもあるのでmssql:主キーとリミットの順番を並べ替え

... ORDER BY [Source].[id] DESC, [id] OFFSET 0 ROWS FETCH NEXT 2 ROWS ONLY

:たとえば:クエリが構築されて

return Things.findAll({ attributes: [ 'id', 'status', 'otherField' ], limit: 2, order: [['id', 'DESC']] })

は、それが次のSQL文を生成します次のエラー:

'A column has been specified more than once in the order by list. Columns in the order by list must be unique.'

Microsoft SQL Server 2017に接続して退屈な状態で3.30.4を使用しています。

ありがとうございます。

答えて

0

オーダーアレイには配列/タプルが含まれている必要があります。これを試してみてください:

return Things.findAll({ 
    attributes: [ 
    'id', 
    'status', 
    'otherField' 
    ], 
    limit: 2, 
    order: [ 
    ['id', 'DESC'] 
    ] 
}) 
+0

私の悪いことに、質問を入力するときに間違いました。私のコードはタプルを使用します。私は質問を編集した –