如何在XML查询中实现像这样的东西?
SELECT top(10) [Ratingid]
,[rating]
,[maxrating]
,[rating_percent]
FROM [LkMusicDB].[dbo].[Rating]
order by rating desc
-----------------------?
我的xml数据是这样的
<root>
<Rating>
<Ratingid>0</Ratingid>
<rating>0.77</rating>
<maxrating>0.41</maxrating>
<rating_percent>39</rating_percent>
</Rating>
<Rating>
<Ratingid>1</Ratingid>
<rating>0.33</rating>
<maxrating>0.37</maxrating>
<rating_percent>60</rating_percent>
</Rating>
<Rating>
<Ratingid>2</Ratingid>
<rating>0.84</rating>
<maxrating>0.94</maxrating>
<rating_percent>16</rating_percent>
</Rating>
<Rating>
<Ratingid>3</Ratingid>
<rating>0.66</rating>
<maxrating>0.73</maxrating>
<rating_percent>55</rating_percent>
</Rating>
<Rating>
<Ratingid>4</Ratingid>
<rating>0.27</rating>
<maxrating>0.60</maxrating>
<rating_percent>42</rating_percent>
</Rating>
<Rating>
<Ratingid>5</Ratingid>
<rating>0.12</rating>
<maxrating>0.99</maxrating>
<rating_percent>34</rating_percent>
</Rating></root>
------解决方案--------------------
你参考一下吧:
/*
sql xml 入门:
--by jinjazz
--http://blog.csdn.net/jinjazz
1、xml: 能认识元素、属性和值
2、xpath: 寻址语言,类似windows目录的查找(没用过dir命令的话就去面壁)
语法格式,这些语法可以组合为条件:
"."表示自己,".."表示父亲,"/"表示儿子,"//"表示后代,
"name"表示按名字查找,"@name"表示按属性查找
"集合[条件]" 表示根据条件取集合的子集,条件可以是
数 值:数字,last(),last()-数字 等
布尔值:position()<数字,@name='条件',name='条件'
条件是布尔值的时候可以合并计算:and or
3、xquery: 基于xpath标的准查询语言,sqlserver xquery包含如下函数
exist(xpath条件):返回布尔值表示节点是否存在
query(xpath条件):返回由符合条件的节点组成的新的xml文档
value(xpath条件,数据类型):返回指定的标量值,xpath条件结果必须唯一
nodes(xpath条件): 返回由符合条件的节点组成的一行一列的结果表
*/
declare @data xml
set @data='
<bookstore>
<book category="COOKING">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="CHILDREN">
<title lang="jp">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="WEB">
<title lang="en">XQuery Kick Start</title>
<author>James McGovern</author>
<author>Per Bothner</author>
<author>Kurt Cagle</author>
<author>James Linn</author>
<author>Vaidyanathan Nagarajan</author>