在MySQL视图中创建带额外计算字段的表

0 投票
1 回答
2154 浏览
提问于 2025-04-18 02:01

我正在使用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

可以查看这个演示

撰写回答