mysql 查数据,根据proj_id去重,取最新一条数据
时间: 2024-09-13 22:18:01 浏览: 49
在MySQL中,如果你想根据`proj_id`字段去除重复并获取每条`proj_id`对应的最新记录,你可以使用`ROW_NUMBER()`窗口函数结合`LIMIT`来实现。这是一个示例查询:
```sql
SELECT *
FROM (
SELECT proj_id,
column1,
column2,
... (列出其他需要的列),
ROW_NUMBER() OVER(PARTITION BY proj_id ORDER BY create_time DESC) as row_num
FROM t_zwzt_office
WHERE create_time BETWEEN '2024-01' AND '2024-08-01'
AND aff_form_info NOT LIKE '%唐文%'
) AS subquery
WHERE row_num = 1
```
这个查询的工作原理如下:
1. 内部查询(subquery)首先根据`proj_id`分区,并按照`create_time`降序排列(最新的记录排在前面),这样每一组`proj_id`就有了一个唯一的排名(row_num)。
2. 外层查询再限制只选择`row_num`为1的结果,也就是每个`proj_id`下的最新记录。
注意:这里的`column1`, `column2`, ... 是你需要的实际列名,你需要替换为你的表中的实际列名。
阅读全文