从 MySQL 组中的时间戳获取第一个日期,并按具有重复值的另一列分组

mysqlmysqli database更新于 2024/1/9 17:47:00

为此,您可以使用聚合函数 MIN() 和 GROUP BY。让我们首先创建一个表−

mysql> create table DemoTable1870
     (
     Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
     Value int,
     ShippingTimestamp varchar(100)
     );
Query OK, 0 rows affected (0.00 sec)

使用 insert 命令在表中插入一些记录 −

mysql> insert into DemoTable1870(Value,ShippingTimestamp) values(10,'1570645800');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1870(Value,ShippingTimestamp) values(10,'1546194600');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1870(Value,ShippingTimestamp) values(11,'1573324200');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1870(Value,ShippingTimestamp) values(11,'1557599400');
Query OK, 1 row affected (0.00 sec)

使用 select 语句显示表中的所有记录 −

mysql> select * from DemoTable1870;

这将产生以下输出 −

+----+-------+-------------------+
| Id | Value | ShippingTimestamp |
+----+-------+-------------------+
|  1 |    10 | 1570645800        |
|  2 |    10 | 1546194600        |
|  3 |    11 | 1573324200        |
|  4 |    11 | 1557599400        |
+----+-------+-------------------+
4 rows in set (0.00 sec)

这是在 MySQL 中从时间戳获取第一个日期的查询 &Minus;

mysql> select min(ShippingTimestamp) from DemoTable1870 group by Value;

这将产生以下输出 −

+------------------------+
| min(ShippingTimestamp) |
+------------------------+
| 1546194600             |
| 1557599400             |
+------------------------+
2 rows in set (0.00 sec)

相关文章