SQLite: як выбраць дыяпазон запісаў?

Я хачу, каб стварыць табліцу БД і набор каманд для яго. Так у цяперашні час у мяне ёсць

this->command_create_files_table = "CREATE TABLE IF NOT EXISTS files (encoded_url varchar(300) UNIQUE NOT NULL primary key, file_name varchar(150) NOT NULL, user_name varchar(65) NOT NULL, is_public BOOLEAN NOT NULL, modified DATETIME NOT NULL default CURRENT_TIMESTAMP )";
this->command_create_file = "INSERT INTO files (encoded_url, file_name, user_name, is_public ) VALUES (:encoded_url, :file_name, :user_name, :is_public)";
this->command_update_file = " UPDATE files SET encoded_url=:new_encoded_url, file_name=:new_file_name, is_public=:is_public, modified=CURRENT_TIMESTAMP  WHERE encoded_url=:encoded_url";
this->command_delete_file = "DELETE FROM files WHERE encoded_url=:encoded_url";
this->command_find_file = "SELECT file_name, user_name, is_public, modified FROM files WHERE encoded_url=:encoded_url";
this->command_find_all_user_files = "SELECT encoded_url, file_name, user_name, is_public, modified FROM files WHERE user_name=:user_name";

(Выкарыстоўваючы sqlite3pp сінтаксіс тут)

Цікава, як SELECT некаторыя наканаваныя : N (25, напрыклад - не больш) файлаў ці менш ад некаторага пачатку DATETIME кропка ( CURRENT_TIMESTAMP , напрыклад)?

0
Вы заўсёды лепш, калі ваш SQL код чытэльным.
дададзена аўтар Jared Farrish, крыніца

2 адказы

SELECT 
    fields_you_want_to_select
FROM 
    filesTbl
WHERE 
    DATETIME > start_of_range AND
    DATETIME < end_of_range
LIMIT limit_num
2
дададзена
але як абмежаваць колькасць выбраных элементаў?
дададзена аўтар Rella, крыніца
Вы можаце выкарыстоўваць пункт LIMIT, каб усталяваць максімальную колькасць якiя вяртаюцца радкоў і ORDER BY, калі вы хочаце кантраляваць, якія радкі будуць вернутыя
дададзена аўтар Terhands, крыніца
SELECT 
    fields_you_want_to_select
FROM 
    filesTbl
WHERE 
    DATETIME > start_of_range AND
    DATETIME < end_of_range
LIMIT
    25
1
дададзена