2013-11-02 3 views
2

GT.M의 결과 세트를 특정 값으로 정렬하는 방법이 있습니까?GT.M 주문 값

전역 변수^사람 (이름, 성) = 나이를 가정하고 연령이 20 세에서 40 세 사이의 모든 사람들을 나이별로 주문하고 싶습니다.

+2

인덱스를 만듭니다.^PeopleAgeIndex (나이, 이름) = $ i (이전 값) ....이 작업을 수행합니까 ?? – Yogesh

+1

안녕하세요, 귀하의 조언 주셔서 감사합니다! 그것은 완벽하게 작동합니다. 하지만 그 사람의 이름과 성을 얻고 싶다면 어떻게해야합니까? 성에도 성을 포함시켜야합니까? 올바른 해결책입니까? 글로벌 변수의 복사본이 아니라 인덱스가 아닌가? – JustUser

+2

Yogesh가 제안했지만^PeopleAgeIndex에 이름과 성을 포함시킬 수 있습니다. 불행히도 이것은^People의 세계를 복제합니다. 또 다른 방법은^인물 (이름, 성, 나이) = ""처럼이 세상 사람들에게 나이 노드를 소개하는 것입니다.이 방법으로 모든 이름과성에 대해 $를 글로벌하게 주문할 수 있습니다 20 <= age > = 40 – igotmumps

답변

1

편집 : 의견 체인을 계속하는 대신 답변을 드리지 못했습니다 ... 내 권한 수준이 아직이 질문에 대해 논평하기에 충분하지 않습니다.

이름이 같지만 성이 다른 사람이 여러 명이라면 Yogesh가 맞습니다.^People의 올바른 노드를 찾으려면 색인을 사용하는 것이 가장 좋을 것입니다. 그런 다음^People에서 필요한 항목을 가져옵니다. 그러나 이름이 같지만 성이 다른 여러 사람이있는 경우^PeopleAgeIndex 하위 노드에 성을 포함하려고합니다.

+1

인덱스를 확장하는 동안 인덱스가 부 풀리지 않도록하는 가장 좋은 방법은 SQL 테이블에서와 같이 unquie ID를 사용하고 인덱스에서 이름 대신 ID를 사용하는 것입니다.^People 글로벌의 첫 번째 레벨은이 고유 ID입니다. 고유 한 ID를 얻는 쉬운 방법은 이전 항목의 $ i()만큼 간단합니다. – Yogesh

+1

동의. 사람들을 상대 할 때마다 이름은 아마도 색인 생성의 최악의 방법 일 수 있습니다 (표시 목적으로 정렬하지 않는 한). 즉, "나이"는 아마도 너무 거친 것입니다. 생년월일은 업데이트가 필요 없으므로 일반적으로 더 좋습니다. – FinrodFelagund

+1

DOB (UTC seconds from epoch)를 저장하는 것이 훨씬 더 낫다는 것에 동의합니다. – Yogesh