gpt4 book ai didi

mysql - 重复行的条件

转载 作者:行者123 更新时间:2023-11-29 01:09:42 25 4
gpt4 key购买 nike

我有 4 列:

用户 ID、开始日期 (D/M/Y)、类型和名称

user_id | start_date | type | name
1 | 1-01-2017 | 0 | Jack
1 | 1-01-2017 | 1 | Jack
1 | 2-01-2017 | 0 | Jack
1 | 3-01-2017 | 0 | Jack
1 | 4-01-2017 | 0 | Jack
1 | 5-01-2017 | 0 | Jack

我想通过 id 、 type 和 start date 检索数据。但条件是,如果日期相同并且优先级是 type = 1 ,我只想要单个记录。不想要重复的日期。我已经尝试过 Group by 但它只显示类型为 0 的地方。

我想要像这样:

user_id | start_date | type | name
1 | 1-01-2017 | 1 | Jack
1 | 2-01-2017 | 0 | Jack
1 | 3-01-2017 | 0 | Jack
1 | 4-01-2017 | 0 | Jack
1 | 5-01-2017 | 0 | Jack

按结果分组:

user_id | start_date | type | name
1 | 1-01-2017 | 0 | Jack
1 | 2-01-2017 | 0 | Jack
1 | 3-01-2017 | 0 | Jack
1 | 4-01-2017 | 0 | Jack
1 | 5-01-2017 | 0 | Jack

最佳答案

我不明白你到底在找什么,但下面的查询将为你提供你正在寻找的确切结果:

SELECT MAX(user_id) AS user_id, 
start_date,
MAX(type) AS type,
MAX(name) as name
FROM data AS d1
GROUP BY start_date;

Results :

| user_id |           start_date | type | name |
|---------|----------------------|------|------|
| 1 | 2017-01-01T00:00:00Z | 1 | Jack |
| 1 | 2017-02-01T00:00:00Z | 0 | Jack |
| 1 | 2017-03-01T00:00:00Z | 0 | Jack |
| 1 | 2017-04-01T00:00:00Z | 0 | Jack |
| 1 | 2017-05-01T00:00:00Z | 0 | Jack |

关于mysql - 重复行的条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47971709/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com