MySQL:对于具有相同日期的多行只获取一行?

标签 mysql date

我有一个 MySQL 查询,它返回多行,其中一列包含日期,这就是我的查询:

select * from (big subselect) sub

例如,我有 6 行,这 6 行中的一列有一个日期,该列称为 my_date。有没有办法只获取日期不是同一天的那些行?示例:

29.10.2012 01:51:10
29.10.2012 01:51:10
29.10.2012 01:51:10
29.10.2012 02:43:18
29.10.2012 02:43:18
29.10.2012 02:43:18

--> 我只想要其中一行,因为所有 6 行都是同一天。

29.10.2012 01:51:10
30.10.2012 01:51:10 --> different
29.10.2012 01:51:10
29.10.2012 02:43:18
29.10.2012 02:43:18
29.10.2012 02:43:18

--> 我想要 2 行,因为有 2 个不同的日子

my_date 列不是每一行中唯一的列,但我希望它作为条件。我怎样才能做到这一点?

谢谢!

最佳答案

您将只需要选择这些MAX(my_date),但您将需要按其他一些字段进行分组。像这样的事情:

select s1.*
from sub as s1
INNER JOIN
(
   SELECT MAX(my_date) AS MaxDate, SomeId
   FROM sub
   GROUP BY someId
) AS s2 ON s1.my_date = MaxDate AND s1.SomeId = s2.SomeId;

关于MySQL:对于具有相同日期的多行只获取一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15020385/

相关文章:

PHP 嵌套each/while

php - 是否有具有连接接口(interface)的 mySQL 前端?

python - 基于Python Pandas DataFrame中日期的值计算?

laravel - 如何比较 Laravel 中的碳日期?

html - 如何隐藏 Html <input type ="date"> 日历面板中的年份部分?

mysql - 计算两个日期之间的星期六数 - MySql

mysql - MYSQL中如何按三个字符工作日排序

php - 在 SQL 查询中计算时间

PHP 和 MYSQL 使用文本区域插入数据库(新行和数据库中的新行)?

javascript - ExtJS 日期和时区