gpt4 book ai didi

SQL - 如何从查询结果中排除与另一行相同的行?

转载 作者:行者123 更新时间:2023-12-02 08:10:37 25 4
gpt4 key购买 nike

我正在编写一个处理产品订单(眼镜镜片)的 SQL 查询。

在数据库中,一个订单可以有多个行。每行代表订单中的不同项目。因此,一排是右镜头,另一排是 right.optionAright.optionB 等。左镜头也一样。

在我的查询中,一行是一个镜头,以及与之相关的所有选项。

我的问题是有几个订单有误。错误是其中一个选项被输入了两次,但不可能有两个该类型的选项。

我的查询已编写为仅考虑每个镜头(因此每行)的这些特定选项之一,因此当发生此错误时它会生成一个额外的行(以及额外的数量、销售等)。

我不想更改我的查询以考虑该类型的多个选项,因为它不应该发生,所以我不能对那些随附的数据执行 SUM行和 GROUP BY

所以我的问题是,如何用 SQL 表示我只想考虑第一行?

现在我的想法是在该选项类型的行上使用一个计数 (*),当它大于 1 时它应该做一些事情,但我不知道做什么。

这是一个错误订单的屏幕截图。 CompType 列表示项目的类型。 CompType 03 是错误所在。我们可以看到行有两次,这就是问题所在:

Example of Error Rows

我尽量保持它的简短,我知道它读起来有点长,对此感到抱歉。

谢谢,祝你有愉快的一天。

最佳答案

由于 position 列,行不相同。最简单的解决方法是 MIN(position)MAX(position),然后是 GROUP BY 其他列。

MIN() 示例:

SELECT OrdNumb,
Side,
MIN(Position),
Comptype,
--Rest of cols
FROM YourTable
GROUP BY OrdNumb,
Side,
Comptype,
--Rest of cols

关于SQL - 如何从查询结果中排除与另一行相同的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47438874/

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