Я использую модуль sqlite3 в node.js для создания и взаимодействия с базой данных sqlite и пытаюсь работать с функцией ROW_NUMBER, но я не могу заставить ее работать, и мне было интересно, возможно, эта функция вообще существует внутри sqlite так же, как и в SQL.
client.db.each('SELECT ROW_NUMBER() OVER (ORDER BY guildbank DESC LIMIT 10) rownum, guildname, guildbank FROM guilds', [], (err, row1) => {
if (err) {
console.error(err.message)
}
if (row1.guildname == message.guild.name) istopten = true
embed.addField(`${row1.rownum}. ${row1.guildname}`, `has ${row1.guildbank} yen in their guild bank!`)
if (istopten) {
client.db.each('SELECT ROW_NUMBER() OVER (ORDER BY guildbank) rownum, guildname, guildbank FROM guilds', [], (err, row2) => {
if (err) {
console.error(err.message)
}
if (row2.guildname == message.guild.name) embed.setFooter(`Your guild is in `)
})
}
})
Ошибка, которую я получаю, ссылается на то, что в строке row1 нет свойства guildname, и я пришел к выводу, что причиной ошибки является мой запрос. Любая помощь будет оценена по достоинству.
Обновлено:
SQLITE_ERROR: near "LIMIT": syntax error
C:\Users\Adam\Desktop\projects\yabe-reworked\Coding-Yabe-Sei\node_modules\sqlite3\lib\trace.js:27
throw err;
^
TypeError: Cannot read property 'guildname' of undefined
at client.db.each (C:\Users\Adam\Desktop\projects\yabe-reworked\Coding-Yabe-Sei\commands\economy\leaderboard.js:11:17)
является соответствующей частью ошибки
Что представляет собой сообщение об ошибке, если оно есть, и жалуется ли оно на то, что ROW_NUMBER не является допустимой функцией?
@TimBiegeleisen Соответствующая часть ошибки отредактирована, спасибо, что указали, что я должен это сделать.
Это похоже на ошибки JavaScript, что, однако, не означает, что ваш SQL действителен. Чтобы проверить корректность SQL, попробуйте запустить непосредственно SQLite.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Моя глупая ошибка, о которой я, честно говоря, должен был знать лучше, не может поместить LIMIT 10 в функцию ROW_NUMBER, вы должны поместить его в конец запроса. Спасибо за идеи :)
таблица и ее имена настроены правильно, я знаю, что это важно