Python 找出时间的最大价值

Python 找出时间的最大价值,python,datetime,python-2.6,Python,Datetime,Python 2.6,我正在寻找从mysql返回的行中搜索最大时间值的脚本。 Mysql返回的行类似于: (123, 'new', datetime.datetime(2013, 1, 2, 16, 6, 21)) (122, 'old', datetime.datetime(2012, 12, 3, 18, 08, 36)) (125, 'new', datetime.datetime(2012, 12, 13, 20, 18, 16)) 我试过: value = 0 for row in rows: if

我正在寻找从mysql返回的行中搜索最大时间值的脚本。 Mysql返回的行类似于:

(123, 'new', datetime.datetime(2013, 1, 2, 16, 6, 21))
(122, 'old', datetime.datetime(2012, 12, 3, 18, 08, 36))
(125, 'new', datetime.datetime(2012, 12, 13, 20, 18, 16))
我试过:

value = 0
for row in rows:
  if row[2] > value:
    value = row
print value
如果我们打印第[2]行的值,它将显示如下

for row in rows:
 print row[2]

output: 2013-01-02 16:06:21
        2012-12-03 18:08:36
        2013-12-13 20:18:16
您可以简单地使用:

print max(x[2] for x in rows)
您可以简单地使用:

print max(x[2] for x in rows)

安德斯·约翰逊巧妙地回答了你的问题

但是,您也可以通过仅请求该行数据来避免首先在Python中执行此操作。SQL语句,如:

从MyTable中选择日期时间
当状态为“新”时,按情况订购,然后1其他0结束描述,日期时间描述限制1;
将实现您试图做的事情,并且只给您一个数据点

更新:
从MyTable中选择mydate
其中type=4
订单按字段(状态“新建”、“等待”、“旧”),mydate DESC
限值1;

安德斯·约翰逊巧妙地回答了您的问题

但是,您也可以通过仅请求该行数据来避免首先在Python中执行此操作。SQL语句,如:

从MyTable中选择日期时间
当状态为“新”时,按情况订购,然后1其他0结束描述,日期时间描述限制1;
将实现您试图做的事情,并且只给您一个数据点

更新:
从MyTable中选择mydate
其中type=4
订单按字段(状态“新建”、“等待”、“旧”),mydate DESC
限值1;

如何打印上述案例中的最大时间值接受答案-否则没有人有兴趣帮助您。如何打印上述案例中的最大时间值接受答案-否则没有人有兴趣帮助您。该问题表示您不了解SQL,否则您将知道排序和限制。问题表示您不了解SQL,否则您将知道排序和限制。实际上,我希望以这样的方式获取值:如果状态为“新建”,则查找最大日期值,如果状态为“非新建”,则返回一行。取旧并查找最新日期并打印该行。@Surya使用SQL语句更好,请参阅更新。你的回答对我很有帮助。。非常感谢你。。但有些时候,身份不仅是新的或旧的,还可以“等待”。首先,我想搜索status=new并根据最新日期选择行,如果status不是新的,那么选择status=waited并搜索最新日期,如果waited也不存在,那么选择status=old搜索最新日期并返回一行,那么为什么不先写下它呢?这个代码也可以做到这一点;这都是相同的自定义排序概念。我喜欢这样做:从MyTable中选择mydate,其中字段(status,'new','waited','old'),type=4 ORDER BY mydate DESC LIMIT 1;实际上,我希望以这样一种方式获取值:如果status=new,则查找最大日期值,如果status不是new,则返回一行;如果status不是new,则取old并查找最新日期并打印该行。@Surya使用SQL语句更好,请参阅update。你的回答对我很有帮助。。非常感谢你。。但有些时候,身份不仅是新的或旧的,还可以“等待”。首先,我想搜索status=new并根据最新日期选择行,如果status不是新的,那么选择status=waited并搜索最新日期,如果waited也不存在,那么选择status=old搜索最新日期并返回一行,那么为什么不先写下它呢?这个代码也可以做到这一点;这都是相同的自定义排序概念。我喜欢这样做:从MyTable中选择mydate,其中字段(status,'new','waited','old'),type=4 ORDER BY mydate DESC LIMIT 1;