gpt4 book ai didi

python - 如何从sqlite中选择最旧的日期组

转载 作者:行者123 更新时间:2023-12-01 00:30:39 24 4
gpt4 key购买 nike

我正在为客户创建一个新数据库,并希望根据他通过 tkinter gui 输入的变量来选择最旧的日期组。我正在使用 Sqlite,但我似乎找不到答案,因为日期存储为文本。有没有一种方法可以比较日期并根据变量选择最早的几个日期。我不需要选择 2 个日期以及其间的产品我想选择3个产品出去,程序自动选择数据库中最旧的3个产品谢谢。 :)

例如,如果表中有 5 个产品:

    • 1 月 1 日推出产品 1。
    • 产品二将于 1 月 10 日发布。
    • 产品三是 1 月 3 日。
    • 产品 4 是 2 月 5 日。
    • 产品 5 是 2 月 2 日。

我想选择最旧的 4 个

所以结果将是:

    • 包含产品 1 的行
    • 包含产品 3 的行
    • 包含产品 2 的行
    • 包含产品 5 的行。

我怎样才能做到这一点?

最佳答案

我相信您会使用类似的内容(假设日期列名为product_date)

SELECT * FROM products ORDER BY product_date ASC LIMIT 4;
  • 采用 YYYY-MM-DD 格式的日期将按文本排序,但这样就可以了。

例如

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;

结果:-

![enter image description here

考虑评论

what if I want to make the limit a variable

这是一个示例,其中 LIMIT 作为绑定(bind)变量 (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

关于python - 如何从sqlite中选择最旧的日期组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58207795/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com