SQL:如何每天选择一行
Posted
技术标签:
【中文标题】SQL:如何每天选择一行【英文标题】:SQL: How to select one row per day 【发布时间】:2017-12-09 19:46:21 【问题描述】:我有一个数据库,每分钟都有一个行条目(每天 86,000 个值),我正在尝试编写 php 来每天只选择一行。我有一列“时间戳”,其中包含常规格式的当前时间戳(2017-12-09 06:49:02)。
有人知道如何编写选择语句来做我想做的事吗?
示例输出:
2017-12-09 06:49:02, datavalue
2017-12-10 06:49:02, datavalue
2017-12-11 06:49:02, datavalue
2017-12-12 06:49:02, datavalue
【问题讨论】:
尝试在您的声明中使用DISTINCT
- SELECT DISTINCT DATE(TIMESTAMP) FROM YOUR_TABLE ORDER BY DATE(TIMESTAMP);
这是一个非常好的主意,但我尝试了 '$sql = "SELECT DISTINCT DATE(timestamp
) * FROM db";'我得到了 0 个结果
我认为查询中不需要“ * ”
【参考方案1】:
这是一种方法:
select t.*
from t join
(select min(t2.timestamp) as min_timestamp
from t t2
group by date(t2.timestamp)
) t2
on t.timestamp = t2.min_timestamp;
【讨论】:
看起来不错,但你能解释一下“t.*”是什么吗? @Gordon 你怎么知道他想要当天的第一排? @itsLex 。 . .我不。但是当天的第一条记录是每天获取一条记录的有效方式。 @pclever1 。 . .t
是您的表名。
小心,如果你有两个具有相同的时间戳,你会得到多行返回。但在这种情况下你不会:)。另见***.com/questions/3800551/…以上是关于SQL:如何每天选择一行的主要内容,如果未能解决你的问题,请参考以下文章