Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting GT.M订单值_Sorting_Resultset_Mumps - Fatal编程技术网

Sorting GT.M订单值

Sorting GT.M订单值,sorting,resultset,mumps,Sorting,Resultset,Mumps,有没有办法按照特定值对GT.M中的结果集进行排序 假设我有一个全局变量^People(name,姓氏)=age,我想得到所有年龄在20到40岁之间的人,按他们的年龄排序?编辑:抱歉回答,而不是继续评论链。。。我的权限级别还不足以对此问题发表评论 只要你不会有多个名字相同但姓氏不同的人,Yogesh是正确的。最好使用索引找到^People的正确节点,然后从^People中获取所需内容。但是,如果您有多个同名但姓氏不同的人,那么您需要将姓氏包含在^PeopleAgeIndex子节点中。创建一个索引,

有没有办法按照特定值对GT.M中的结果集进行排序


假设我有一个全局变量^People(name,姓氏)=age,我想得到所有年龄在20到40岁之间的人,按他们的年龄排序?

编辑:抱歉回答,而不是继续评论链。。。我的权限级别还不足以对此问题发表评论


只要你不会有多个名字相同但姓氏不同的人,Yogesh是正确的。最好使用索引找到^People的正确节点,然后从^People中获取所需内容。但是,如果您有多个同名但姓氏不同的人,那么您需要将姓氏包含在^PeopleAgeIndex子节点中。

创建一个索引,^PeopleAgeIndex(年龄,姓名)=$i(以前的值)。。。。这有用吗?嗨,谢谢你的建议!它工作得很好。但如果我想知道那个人的名字和姓氏呢?我应该把姓氏也包括在你的索引中吗?这是正确的解决方案吗?那么,它不只是全局变量的副本而不是它的索引吗?你可以按照约格什的建议做,但在^PeopleAgeIndex中包含姓名。不幸的是,这确实复制了^People global。另一种选择是在“^People global”中引入年龄节点,如“^People(姓名、姓氏、年龄)=”“这样,您可以通过全局对所有姓名和姓氏进行$order,其中20=40您不需要在全局索引中包括姓氏或任何其他内容。这就是它的工作原理。。在全局索引上添加$o并从中提取名称。。然后用你的名字和姓氏,以及你想从你的原始全球账户中得到的任何东西。。例如,假设我有^People(“XYZ”,“ABC”)=20,^People(“XYZ1”,“ABC1”)=19,,,我的索引看起来像^PeopleAgeIndex(20,“XYS”)=1和^PeopleAgeIndex(19,“XYS1”)=1。。。现在,您可以使用$o over ^PeopleAgeIndex获得XYS,然后使用$o(^People(“XYS”))获得姓氏。如果答案满足您的需要,请接受答案。我认为,在仍然具有适当索引构建的情况下,避免索引膨胀的最佳方法是像在SQL表中一样使用非静态ID,并在索引中使用ID而不是名称或其他任何内容。^People global的第一个级别将是此唯一ID。获取唯一ID的简单方法将与上一个条目的$i()一样简单。同意。无论何时与人打交道,名字都可能是最糟糕的索引方式(除非你为了显示而排序)。也就是说,“年龄”可能也相当粗糙。出生日期通常会更好,因为这不需要随着时间的推移进行任何更新。我同意,存储相当于DOB的整数(UTC秒自历元)会更好。