Я создал базу данных SQLite для приложения Android, и до сих пор она работает нормально, но конкретный запрос не возвращает результатов. Я совершенно не знаком с SQL, поэтому, если с моим запросом что-то не так, я хотел бы знать.

SELECT word,freq FROM wordlist WHERE word = '%ras' AND dist = 2 ORDER BY freq DESC

Слово - это varchar (4), а freq и dist - целые числа

Сама таблица содержит около 4000 слов из четырех букв, и определенно должно быть хотя бы одно слово, удовлетворяющее условиям слова формы "_ras" и dist = 2

1
tenkay 26 Апр 2016 в 07:01

2 ответа

Лучший ответ

Вы можете попробовать с этим,

Если вам нужно получить слово, оканчивающееся на «ras», вам нужно написать следующий запрос:

SELECT word,freq FROM wordlist WHERE word like'%ras' AND dist = 2 ORDER BY freq DESC

В сочетании с оператором LIKE используются два символа подстановки:

% вернет ноль, один или несколько чисел или символов.

А _ представляет собой одну цифру или символ перед словом.

Для этого вы можете запросить, как показано ниже:

SELECT word,freq FROM wordlist WHERE word like'_ras' AND dist = 2 ORDER BY freq DESC
0
KishuDroid 26 Апр 2016 в 04:25

Я думаю, вам нужно использовать «нравится» вместо = для сравнения слов.

Можешь попробовать:

SELECT word,freq FROM wordlist WHERE word like '%ras' AND dist = 2 ORDER BY freq DESC

И если вы хотите получить результаты только на письме, прежде чем ras попробуйте

SELECT word,freq FROM wordlist WHERE word like '_ras' AND dist = 2 ORDER BY freq DESC
0
Ameya Kulkarni 26 Апр 2016 в 04:10