guoqp 发表于 2022-7-1 11:57:11

唯一值Distinct功能如何实现?

本帖最后由 guoqp 于 2022-7-1 12:02 编辑

我这里想表达的是:在不使用服务器命令与存储过程命令情况下,能否实现取某字段唯一值或者去重功能,也就是SELECT语句中的Distinct功能

我之所以说不用服务器命令与存储过程,是因为这是一个常用且非常简单的需求,为什么要整那么复杂才能实现呢,可否整个直接可配置功能,类型于查询条件的一个选项或者一个公式字段之类,用起来多方便

好像distinct支持多个字段组合,希望活字格也支持

jiangcj369 发表于 2022-7-1 12:25:19

Distinct 总是给我敲响警钟——它通常意味着糟糕的表设计或对自己不确定的开发人员。它用于删除重复行,但如果连接正确,则很少需要它。是的,使用它的成本很高。

订单表的主键是什么?假设它是 orderno 那么应该足以保证没有重复。如果是其他原因,那么您可能需要对查询做更多的事情,但您应该将删除这些差异作为目标!;-)

guoqp 发表于 2022-7-1 13:11:53

jiangcj369 发表于 2022-7-1 12:25
Distinct 总是给我敲响警钟——它通常意味着糟糕的表设计或对自己不确定的开发人员。它用于删除重复行,但 ...

比如我通过员工报工数据来查员工参与项目或者部门参与项目,虽然可以通过专门的参与项目表来实现,但最准确的数据确来自于最终结果数据

比如我们配置我参与的项目有10个,可实际这段时间我只参加了5个,这个时候直接在我的报工数据中取唯一值就是最准确的

所以distinct还是有很多使用它的场景的,看你如何去用,至于代价,至少我在几十万条记录情况下还没看到有多大代价,更不用说我们一般使用它的情况下数据量往往只有最多几百条记录

Lay.Li 发表于 2022-7-1 17:41:49

感谢各位大佬的支持~
您好,您现在实际遇到的问题是什么呢,您说的distinct一般情况下都是可以通过sql去实现的,您想要活字格怎样去实现这个需求呢。方便的话可以描述一下您的构想能举一些例子就更好了:loveliness:

guoqp 发表于 2022-7-2 12:24:18

Lay.Li 发表于 2022-7-1 17:41
感谢各位大佬的支持~
您好,您现在实际遇到的问题是什么呢,您说的distinct一般情况下都是可以通过sql去实 ...

比如在查询条件中体现,或者在公式或统计字段体现

dlxubo 发表于 2022-7-2 17:21:41

哪你就把数据库的字段设置为唯一

Lay.Li 发表于 2022-7-4 12:28:26

感谢各位大佬的支持~
要如何体现呢,您现在是想在查询出多条数据时,只显示出一条嘛。这个可以在查询行数和排序中去设置哈:loveliness:

guoqp 发表于 2022-7-5 18:38:47

Lay.Li 发表于 2022-7-4 12:28
感谢各位大佬的支持~
要如何体现呢,您现在是想在查询出多条数据时,只显示出一条嘛。这个可以在查询行数 ...

A
A
B
B
C
C

就这样的一个记录集,如何显示成
A
B
C

排序与条数能解决?

guoqp 发表于 2022-7-6 10:43:31

我好像找到一个办法能实现了,做一个统计字段,如COUNT
然后在需要唯一显示的表中去绑定要作唯一显示的字段,再把统计字段加上,隐藏不显示就行了,就可以实现显示唯一值

guoqp 发表于 2022-7-6 10:43:56

但我更希望的是能在查询条件中加入显示唯一值功能
页: [1] 2
查看完整版本: 唯一值Distinct功能如何实现?