3-значный номер менее 2-значный номер при использовании заказа по - PullRequest
0 голосов
/ 11 июня 2019

Как я уже упоминал в заголовке, у меня есть какой-то тест, и я должен отсортировать количество точек по убыванию, и вот когда это происходит, он показывает, что трехзначное число меньше, чем двухзначное число, например (80,70,50, 20,100) "brojBodova" - это количество точек между двумя

let $ doc: = doc ("SemaKolokvijum.xml")

для $ a в $ doc // kolokvijum / polaganje

порядок по $ a /../@ redniBroj, $ a / brojBodova по убыванию

return concat ("(", $ a /../@ redniBroj, ")", $ a // indeks, "", "(", $ a / brojBodova, ")")

Ответы [ 2 ]

1 голос
/ 12 июня 2019

Попробуйте это

for $a in $doc//kolokvijum/polaganje/brojBodova
order by  $a/../../@redniBroj, number($a) descending
0 голосов
/ 11 июня 2019

Как подсказывает @MelissaGuo, ваши целые числа являются строками, поэтому они сортируются квази-алфавитно, а не численно.

Предполагая, что brojBodova - это число, вы должны привести его к целому числу, как это:

order by $a/../@redniBroj, $a/xs:integer(brojBodova) descending
...