gpt4 book ai didi

mysql - 删除表中的空重复项

转载 作者:行者123 更新时间:2023-11-29 05:55:26 25 4
gpt4 key购买 nike

我的是这样的:

rank   cost    segment      description
1 23 pen 2mm red pen
2 22 pen 3mm red pen
3 10 pen 4mm green pen
3 pen
4 pen 5mm red pen
5 pen 1 mm yellow pen
1 3 eraser red eraser
2 2 eraser red eraser
3 5 eraser green eraser
4 eraser
4 6 eraser red eraser
5 eraser yellow eraser

需要转换成:

 rank   cost    segment         description
1 23 pen 2mm red pen
2 22 pen 3mm red pen
3 10 pen 4mm green pen
4 pen 5mm red pen
5 pen 1 mm yellow pen
1 3 eraser red eraser
2 2 eraser red eraser
3 5 eraser green eraser
4 6 eraser red eraser
5 eraser yellow eraser

注意:空 rank 3penrank 4eraser 被删除。

我一直在尝试使用 select * from table where cost!=0 来实现这一点但在这种情况下 rank 5 也被删除了,因为它是空的。这是不希望的。

我想保留所有排名,即使它在每个段中都是空的,只是想删除具有空 cost 值的段中的重复排名。

我尝试了其他几种方法来实现这一点,但都失败了。有没有更好的方法来实现这一目标?可能我需要使用 group by segment 或任何 duplicate 关键字(如果有的话)?

对于这样的新手问题深表歉意。

任何帮助将不胜感激。

最佳答案

聚合似乎做你想做的事:

select rank, sum(cost) as cost, segment, max(description)
from t
group by rank, segment;

这会为数据中的每个 segment/rank 组合返回一行。

关于mysql - 删除表中的空重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49833729/

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