我正在尝试这样选择行中列出的每个维度的单独列中的最大值;
Input Dataset
Person|Date#1 |Date#2 |Date#3 |Date#4
------+--------+--------+--------+---------
Matt |12/01/18|01/15/19|02/15/19|04/15/18
Dave |01/15/18|01/02/19|03/15/19|11/01/19
Desired result
Input Dataset
Person|Max Date|
------+--------+
Matt |02/15/19|
Dave |11/01/19|
答案 0 :(得分:0)
将表格固定为YYYY-mm-dd
之类的适当格式后,表格便会如下所示:
Person Date#1 Date#2 Date#3 Date#4
---------- ---------- ---------- ---------- ----------
Matt 2018-12-01 2019-01-15 2019-02-15 2018-04-15
Dave 2018-01-15 2019-01-12 2019-03-15 2019-11-01
它变得微不足道
SELECT Person, max("Date#1", "Date#2", "Date#3", "Date#4") AS "Max Date" FROM mytable;
Person Max Date
---------- ----------
Matt 2019-02-15
Dave 2019-11-01
请记住sqlite does not have any date or time types。它使用字符串或数字来保存这些值。当将日期存储为字符串时,必须以一种可以进行有意义的比较的方式来格式化它们。 '04/15/18'
大于'01/15/19'
,因为字符4大于字符1。标准time string formats都没有这个问题。