找回密码
 立即注册

QQ登录

只需一步,快速开始

njhg001

金牌服务用户

43

主题

133

帖子

584

积分

金牌服务用户

积分
584

微信认证勋章

njhg001
金牌服务用户   /  发表于:2021-4-2 13:08  /   查看:4231  /  回复:15
1金币
如下图,在弹出页面中查询后,得到分页的查询结果表格,希望能得到(3)和(4)处的记录数和数量的合计数,什么样的方法效率最高并且最简单?



谢谢!
附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

16 个回复

正序浏览
Eric.Liang讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2021-4-8 11:31:55
16#
njhg001 发表于 2021-4-8 10:51
这是一个办法,只是数据量比较大,添加到一个临时辅助表,估计效率比较差,而且这是一个统计表,可能有不 ...

数据库的存储过程是走内存的,他的整体销量是要比页面请求要快很多的。
其实你可以尝试下,我们有些客户在大数据量后台处理的时候使用存储过程用的还可以。

关于你说的用户字段,是必须添加的,这样每个人每次执行时只操作自己的临时表数据。存储过程中传参为当前登录用户即可,在存储过程中根据当前登录用户去删除数据,重新查询,添加到临时表中。
回复 使用道具 举报
njhg001
金牌服务用户   /  发表于:2021-4-8 10:51:35
15#
Eric.Liang 发表于 2021-4-8 10:16
你可以选择在外联数据库中创建一个存储过程,参数为大类,亚类,品名等等。
逻辑在存储过程中实现,存储 ...

这是一个办法,只是数据量比较大,添加到一个临时辅助表,估计效率比较差,而且这是一个统计表,可能有不同的用户都要执行统计功能,这样的话,还需要在临时辅助表中增加区分用户的字段,数据量还会更大。如果是写代码的话,我可以拼接SQL语句的查询条件,从表或视图中查询数据,分页就可以了,活字格如何效率高一点实现呢?
回复 使用道具 举报
njhg001
金牌服务用户   /  发表于:2021-4-8 10:01:00
13#
Tracy.Liu 发表于 2021-4-2 16:28
服务端命令做肯定也可以做的,首先行数,在设置参数命令的时候是可以直接取到的

然后计算合计值的话, ...

我觉得这个方案和写代码区别还是蛮大的,如果是写代码,我就可以根据输入的条件,拼接查询SQL语句,比如:select count(Id),sum(数量) as TotalSL from 表格1 where 大类 = '大类1' and 产地='产地2',这样1条语句,与数据库交互一次就可以,并不需要得到所有满足条件的记录,再遍历所有数据,对每行数据的数量进行求和。用写代码的方式应该是很灵活并且效率是比较好的。所以,活字格能不能实现类似写代码的办法?

另外一个,不管是用服务端命令还是OData公式,得到数据行数并不困难,但关键是如何将不同的查询条件放进去,比如,可能选择了大类和产地条件,可能选择了亚类、产地和材料条件等等。
回复 使用道具 举报
njhg001
金牌服务用户   /  发表于:2021-4-8 09:51:15
12#
Joe.xu 发表于 2021-4-2 14:36
您好,我这边也给您提供一个方案哈
行数通过Odata来查,
总数量添加统计字段和辅助表格来实现

这个方案是可行的,我觉得困难的在于筛选页面里选择的条件不定,那在主页面中用OData公司和统计字段表格的话,就存在一个问题,如果设置Odata公式和统计表格的查询条件。
例如,选择了大类和产地条件,也可能是选择了亚类和材料、产地条件等等,这样的情况该怎么处理呢?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Tracy.Liu讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-4-2 16:28:16
11#
njhg001 发表于 2021-4-2 14:59
有没有可能通过服务端命令,读一次数据库,返回几个参数

服务端命令做肯定也可以做的,首先行数,在设置参数命令的时候是可以直接取到的

然后计算合计值的话,就需要您设置参数命令取表格多行记录,然后循环这个多行记录,将数量依次加起来。就跟写代码思路是一样的。

其实您这个我感觉是用9楼提供的处理方式是比较简便的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
njhg001
金牌服务用户   /  发表于:2021-4-2 14:59:14
10#
Joe.xu 发表于 2021-4-2 14:36
您好,我这边也给您提供一个方案哈
行数通过Odata来查,
总数量添加统计字段和辅助表格来实现

有没有可能通过服务端命令,读一次数据库,返回几个参数
回复 使用道具 举报
Joe.xu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2021-4-2 14:36:44
9#
您好,我这边也给您提供一个方案哈
行数通过Odata来查,
总数量添加统计字段和辅助表格来实现

效果如下,



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

点评

这种方式,用表头的查询 汇总数不对  发表于 2021-4-8 11:34
回复 使用道具 举报
13332564680悬赏达人认证 活字格认证
初级会员   /  发表于:2021-4-2 14:23:09
8#
哈哈哈哈,那你等那些大佬给你解决哈
回复 使用道具 举报
njhg001
金牌服务用户   /  发表于:2021-4-2 14:20:57
7#
13332564680 发表于 2021-4-2 14:15
可不可以这样子,在旁边隐藏一个表格,计算里面的

这个做法技术上好像是可行的,但需要读取更多的数据,在数据量比较大的情况下,效率可能会有点问题
回复 使用道具 举报
13332564680悬赏达人认证 活字格认证
初级会员   /  发表于:2021-4-2 14:15:23
6#
可不可以这样子,在旁边隐藏一个表格,计算里面的
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部