highlight/emphasize 复制查询记录的最简单方法是什么?

What is the easiest way to highlight/emphasize duplicate records of a query?

我有一个查询 return 有很多列,但是对于一个特定的列(lp_num = pallet 标识符)有一个重复值。这完全没问题,因为同一条记录中的另外 2 个字段具有不同的值。总结:

查询

t.lp_num     t.lot     t.qty
A            lot_1     -141
A            lot_2     -94
B            lot_1     -235
C            lot_1     -235

在报告中,我需要显示 t.lp_num = A 有 2 行而不是标准的 1 行。起初我尝试在文本框颜色的表达式中使用某种条件格式,但我找不到一种方法来与结果集中的其他记录进行比较,就像 MS Access 允许的那样。然后我尝试在结果集中创建一个新列,通过执行 COUNT(t.lp_num)COUNT(DISTINCT t.lp_num) 来指定一行是否仅基于 t.lp_num 字段是唯一的,但这两种方法 return ed a 1。我希望它会 return 一个 2 用于 t.lp_num = A 的记录,以表明该记录具有重复两次的 t.lp_num 值。

我认为您可以使用 window 函数获取所需的信息:

select lp_num, lot, qty, count(*) over (partition by lp_num) as Num_lpnum
from t;

对于您的数据,Num_lpnum "A" 行为 2,其他行为 1。