在MySQL视图中创建带额外计算字段的表
我正在使用Python和MySQLdb模块。我有一个表格,长得像这样:
TableA
------
id
latest_time_seen
latest_time_seen
的格式是2014-02-05 00:00:50
我想从TableA
创建一个MySQL视图,这个视图和TableA
很像,唯一的不同是它多了一个计算字段,叫做secs_diff
。
secs_diff
表示当前时间和latest_time_seen
之间的秒数差。
输出的表格大概会是这样的:
OutputTable
-----------
id
latest_time_seen
secs_diff
我不太担心写一个Python函数来计算secs_diff
。但我卡在了如何把这个函数整合进一个MySQL查询中,以生成一个看起来像OutputTable
的视图。
如何使用Python和MySQLdb模块生成这样的视图?或者使用临时表会更好?如果能纯粹通过MySQL查询生成这样的视图,那就更好了。但我不确定MySQL查询是否足够灵活,能够计算时间差。
非常感谢。
1 个回答
1
是的,你可以用纯MySQL来实现这个。
试试这个查询语句:
select *,TIME_TO_SEC(TIMEDIFF(NOW(), latest_time_seen)) as secs_diff from tbl
可以查看这个演示