Я полагаю, вы бы использовали что-то вроде (при условии, что столбец даты называется product_date)
SELECT * FROM products ORDER BY product_date ASC LIMIT 4;
- Дата в формате ГГГГ-ММ-ДД будет отсортирована по тексту, но это будетштраф.
например,
INSERT INTO products
VALUES
('Product 1','20190101'),
('Product2','20190110'),
('Product3','20190103'),
('Product4','20190205'),
('Product5','20190204');
SELECT * FROM products ORDER BY product_date ASC LIMIT 4;
Результаты: -
С учетом комментария
что если я хочу сделать предел переменной
Это пример, когда LIMIT передается как переменная (limit_var
), которая связана (т.е. заменяет? ): -
def so58207795():
import sqlite3
db = sqlite3.Connection("mycart")
db.execute("CREATE TABLE IF NOT EXISTS products(product TEXT, product_date TEXT)")
db.execute("INSERT INTO products VALUES('Product 1','20190101'),('Product2','20190110'),('Product3','20190103'),('Product4','20190205'),('Product5','20190204')")
limit_var = "4"
print(db.execute("SELECT * FROM products ORDER BY product_date ASC LIMIT ?",(limit_var)).fetchall())
В результате: -
E:\PYCharmPythonProjects\venv\Scripts\python.exe E:/PYCharmPythonProjects/Test001.py
[('Product 1', '20190101'), ('Product3', '20190103'), ('Product2', '20190110'), ('Product5', '20190204')]
Process finished with exit code 0