我正在重构一个文档处理应用程序,我认为我看到了用查询代替大量代码的机会。一个 db 表包含一个用于文档中字典术语的每次出现的行。一行包含字典条目的第一个字母在文档中的字符位置以及与字典术语关联的代码编号。例如,这里是处理单个文档产生的一组行。
doc pos code
55 20 44
55 169 44
55 328 44
55 86 174
55 98 393
55 566 393
问题是只返回每个代码第一次出现的行。所以对于这个例子,应该返回第一行、第四行和第五行。它“感觉”就像一个 group by code 可以做到这一点,但我无法弄清楚 group by 的条件,它将为每个代码选择具有最低 pos 的行。查询解决方案只需要适用于 ms sqlserver。