如何在SQLite中获取最多的多列?

时间:2018-10-04 11:37:53

标签: sql sqlite

我有一个SQLite数据库,其中包含2个表:albumphoto。相册基本上只是照片的集合,用photo中的外键表示。每张照片都带有3个时间戳:创建,更新,删除。

sqlite> SELECT id, title FROM album;

id          title
----------  ----------------
1           Beach party 2018
2           Dad's 60th birth

sqlite> SELECT id, album, ts_created, ts_updated, ts_deleted FROM photo;

id          album       ts_created  ts_updated  ts_deleted
----------  ----------  ----------  ----------  ----------
1           1           1538649250              1538649274
2           1           1538649250  1538649261
3           1           1538649250
4           1           1538649250  1538649267
5           1           1538649250  1538649267
6           2           1538649962
7           2           1538649962

在应用程序中显示相册时,我想显示标题和最后一张照片“事件”的日期(添加,编辑,删除等),例如

  

2018年海滩派对

     

编辑于:UTC 2018年10月4日星期四10:34:34

如何从photo表的时间戳中获取此信息?

1 个答案:

答案 0 :(得分:1)

使用max内置函数在这里有帮助。来自the documentation

  

请注意,当max()具有2个或更多参数时,它是一个简单函数,但如果仅提供单个参数,则它作为聚合函数。

还要注意,由于我们的时间戳记可以为NULL,并且如果任何值为,则max返回NULL,因此我们需要使用coalesce以确保NULL列不会破坏外部{{1 }}。

max