Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在这种情况下,如何获取MySQL中的最后一行?_Python_Mysql_Sql - Fatal编程技术网

Python 在这种情况下,如何获取MySQL中的最后一行?

Python 在这种情况下,如何获取MySQL中的最后一行?,python,mysql,sql,Python,Mysql,Sql,我有检查日期的表格 结构是 Curr_date 150120 160120 170120 180120 (日期格式为DDMMYY) 只有一列是“主键” 现在我想获取保存在表中的最新日期或当前日期(该日期不总是最后一行) 例如: 最新添加日期为:010122 然后,记录会显示为 Curr_date 010122 <--- The Latest date is on the top 150120 160120 170120 当前日期 010122如果是日

我有检查日期的表格

结构是

Curr_date 

 150120
 160120
 170120
 180120
(日期格式为DDMMYY)

只有一列是“主键”

现在我想获取保存在表中的最新日期或当前日期(该日期不总是最后一行)

例如: 最新添加日期为:010122

然后,记录会显示为


Curr_date

010122        <--- The Latest date is on the top
150120
160120
170120



当前日期

010122如果是日期栏,则不应执行此操作:

SELECT MAX(Curr_date) FROM table_name

假设curr_date的数据类型为string。以下查询将适用于您

select curr_date
       , STR_TO_DATE(curr_date,'%d%m%Y') 
from test 
order by STR_TO_DATE(curr_date,'%d%m%Y') desc;

如果将字符串拆分为其组件
YY
MM
DD
部分,则可以按其降序(年、月、日期顺序)排序并获取最新值:

SELECT *
FROM dates
ORDER BY RIGHT(Curr_date, 2) DESC, SUBSTR(Curr_date, 3, 2) DESC, LEFT(Curr_date, 2) DESC
LIMIT 1
输出:

Curr_date
180120

max
groupby
都可以使用一个完整的表达式,您可以使用该表达式将字符串重新组合成正确排序的内容,可以使用字符串操作或解析到正确的日期


除此之外,你应该把整个东西烧成灰烬,如果它是90年代以后建造的,就应该把设计它的人烧掉。将年份存储为2位数和将东西存储在DMY中都是很糟糕的想法。

你能试着用这个吗,按当前日期排序->从表名称中选择*按当前日期排序描述限制1如果您在mysql表模式@KAKAKAKISo中为列指定了正确的数据类型,它肯定会起作用。实际上,这里的确切问题是如何将字符串转换为日期,因为所选答案将全部选中,并按转换日期和正确的答案更像是:
从测试顺序中选择日期列,按STR_TO_date(日期列,'%d%m%Y')描述限制1不,那不会。。。正如我所解释的,它将首先显示更大的数字。但对我们来说,最新的是010122,比110120小。那不行,我不明白,是数字还是日期类型?那是字符串@VBoka@KAKAKAKI好。。。这应该是问题中的第一句话:)嗨@Nick,如果列是int,这会起作用,但如果列是varchar,则不会:@VBoka您试图在varchar列中插入一个整数,当它被解析时,前导的0被剥离。将值设置为字符串,它就可以正常工作:@VBoka没有问题。谢谢你的支持。