Получить рекордную позицию в SQL - PullRequest
0 голосов
/ 11 марта 2020

У меня есть система рангов на моем боте Discord, и я пытаюсь отобразить сообщение вроде («Вы ранж № 5»), поэтому мне нужно запросить свою базу данных, но я не так хорош с SQL ( Я использую лучше-sqlite3) То, что я пробовал, явно неправильно. Может кто-то мне помочь, пожалуйста? Моя попытка:

    const userRank = db.prepare('SELECT count(*) FROM scores WHERE points <= 113 AND guild = ? ORDER BY points DESC').all(message.guild.id);
    console.log(userRank);

Я бы хотел, чтобы console.log вывел '5' в этом случае, но текущий вывод говорит '1' (проверьте фото для записей базы данных)

databse

Ответы [ 2 ]

1 голос
/ 11 марта 2020

Если вы хотите сказать 5, вы должны удалить гильдию из предложения WHERE и оператор сравнения сальто.

SELECT count(*) FROM scores WHERE points >= 113 ORDER BY points DESC
0 голосов
/ 11 марта 2020

Я просто идиот, мой код был почти верен, измените <= на >=, и он работал нормально, однако, просматривая свою базу данных, я не фильтровал ее по гильдии. Так что он давал правильный ответ, я просто смотрел не на тот стол. ответ:

    const userRank = db.prepare('SELECT count(*) FROM scores WHERE points >= 64 AND guild = ? ORDER BY points DESC').all(message.guild.id);
...