作者nosezhao (赏月亮一巴掌)
站内Database
标题Re: [SQL ] 用select排序问题
时间Wed Apr 25 21:20:03 2007
试想一下,如果你做select * from table的时候,
得到的结果是不是会有第一笔到第N笔的情形
若你是
slect * from table order by field_A
即使有多笔资料的field_A相同,但是呈现给你的时候,仍会有顺序别。
所以select top 5 field_A from table
DB server 是真的将资料排序後找出实体资料前五笔
而你在SQL中用了 in (子查询)
当然外面这一句SQL他会将分数符合的资料都抓出来给你,不论有几笔...
※ 引述《vaisi (VAISI)》之铭言:
: ※ 引述《flakchen (flak)》之铭言:
: : 会不会是你的资料里面
: : 满足前五名的分数的资料行
: : 其实有六行?
: 没错呢!!真的是有6个因为刚好第五名有两个同分
: 但如果只执行此部份:
: select top 5 分数
: from table
: order by 分数 desc
: 就只有5个
: 但如果变成子查询的一部分,就会变成6个??这是为什麽呢??
: 另外再回覆第一个回答的板友,就算加了引号或是将栏位改成英文还是有问题呢...
: 感谢两位板友们的回答!!<(_ _)>
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.160.27.147