SQL从表中选择具有最大日期的行

时间:2018-01-04 17:02:31

标签: mysql sql

我需要创建一个查询,在其中我获得具有最近时间戳日期的行。我知道MAX不能在WHERE条款中使用,但我需要这样的东西:

SELECT * FROM data WHERE MAX(timestamp)

2 个答案:

答案 0 :(得分:1)

如果您只想要一行,请使用awk 'FNR==3 {next} # skip first three lines in file1 {FS = OFS = "\t"} # define input and output as tab-delimited NR==FNR{c[$1]; next} ($1":"$2) in c && NR==FNR{c[$5];next}$4 in c && $2 ~ /SNV|INDEL/ && $3=="exonic"' file1 file2 # process each line in file matching on criteria chr4:55141050 INDEL exonic synonymous c.1697_1711delGCCCAGATGGACATG

order by

如果你想在领带的情况下所有这些行,那么你可以使用:

limit

答案 1 :(得分:0)

是的,MAX子句不能在WHERE子句中使用,因为它是一个用于分组的聚合函数。但是,它可以在HAVING子句中使用,您可以将其视为与WHERE等效的分组。

例如,这是有效的:

SELECT *
FROM table1
GROUP BY name
HAVING MAX(amount) < 1000

这只是一个例子,显然不能做你想做的事。戈登的答案就是你所需要的,但我只想回答你在条件中使用像MAX这样的聚合函数的问题。