在这种情况下,我有两个表连接在一起
表是:dpr
和 set1
我有这个代码:
SELECT distinct s.s1T, s.s1W, s.s1L, s.s1Reject, s.s1Quantity, s.s1Volume
FROM set1 s left join dpr d ON s.DPno = d.ProdNo
Where s.DPno = '20150205'
AND s.s1T = d.Thickness
AND s.s1W = d.Width
AND s.s1L = d.Length;
这是我的 Cyrstal 报告中此查询的结果
示例:我只想显示 set1 中的数量和体积
Quantity Volume
----------------------
23 54
0 0
23 54
0 0
在这种情况下,我的记录是重复的。我该如何解决这个问题?
我尝试使用此代码来抑制重复的“{set2.Quantity}) = previous({set2.Quantity})”,但它不起作用!
我只期待这个结果:
Quantity Volume
----------------------
23 54
0 0
最佳答案
一般情况下,您可以使用具有排名功能的 CTE
;WITH C AS(
SELECT RANK() OVER (PARTITION BY Quantity, Volume ORDER BY Quantity, Volume) AS Rnk
,Quantity
,Volume
FROM yourTable -- Put your joins here
)
SELECT Quantity, Volume FROM C WHERE Rnk = 1
根据重复值,您的 PARTITION BY
和 ORDER BY
字段正在更改
有关 here 的更多信息
关于mysql - 如何抑制连续的重复记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28468564/