mysql中表格为:28家船公司 2024-09-25 15:06:29 28家船公司 2024-09-25 15:06:28 20+其他家船公司 2024-09-25 14:36:10查询结果去除相同船公司的行,保留第一行
时间: 2024-09-25 10:17:21 浏览: 60
mysql-connector-java-8.0.25-jar
5星 · 资源好评率100%
如果你想从上述MySQL数据中去除每个船公司重复的记录,并只保留最早的一条记录(按时间升序),可以使用`MIN()`函数结合`GROUP BY`来实现。假设你有一个名为`ship_log`的表,包含`company_id`(船公司ID)和`timestamp`(时间戳)字段,你可以执行这样的SQL查询:
```sql
SELECT company_id, MIN(timestamp) as first_occurrence
FROM ship_log
GROUP BY company_id
HAVING timestamp = (SELECT MIN(timestamp) FROM ship_log WHERE company_id = ship_log.company_id);
```
这个查询会返回每个船公司的最早出现的时间戳(即第一个记录)。如果你想查看完整的记录(包括除了最早记录外的其他信息),可以在外部查询中再根据`first_occurrence`筛选:
```sql
SELECT *
FROM ship_log sl
JOIN (
SELECT company_id, MIN(timestamp) as first_occurrence
FROM ship_log
GROUP BY company_id
) sg ON sl.company_id = sg.company_id AND sl.timestamp = sg.first_occurrence;
```
这将只显示每个船公司首次出现的时间对应的完整记录。
阅读全文