select col1,col2 from tb order by col1 ,主键(或候选键)
解决方案 »
- asp+sql作登录验证,现有些问题请高手指点!谢谢!
- 一直困惑我很久的问题
- 为什么我在添加记录的时候,总是莫名其妙的添加两条相同的记录呢(只有id不同)??
- 存储过程分析
- 求MS SQL 联合查询语句
- 如何把sql的系统错误替换成自定义错误
- 紧急求助!!! 表错误: 数据库 ID 13,对象 ID 2,索引 ID 0。链的链接不匹配 如何处理?先谢过!
- 请问大家能不能告诉我一些数据库优化方面的知识。
- CoolSlob再进来一次吧,呵呵
- 如何把一个表中的某个字段的所有值拼成一个变量返回?
- 请教高手, 表A,表B格式完全相同,只有个别字段的值不一样,如何写替换的SQL?
- 急:sql server表,大概有100万条记录,要定期删除其中的
再select * from # where idrow < 3
(@sqlstr nvarchar(4000), --查询字符串
@pagecount int=1, --第N页
@pagesize int=99999999) --每页行数
as
begin
set nocount on
declare @P1 int--P1是游标的id
set @pagecount=(@pagecount-1)*@pagesize+1
exec sp_cursoropen @P1 output,@sqlstr
exec sp_cursorfetch @P1,16,@pagecount,@pagesize
exec sp_cursorclose @P1
end
orace.db2这些数据库系统一样存在和sql server一样的问题.
高级的数据库都存在根据你的查询语句和表结构对处理方法的优选问题, 所以都会存在同样的sql语句, 在不同的结构, 或者数据差异很大的两次查询中, 顺序不一致的情况.
如果你遇到这种现象, 则复制你的查询语句到查询分析器中, 按Ctr+L对你的语句进行分析, 如果在分析结果中, 你看到某些对象的对象名中出现红色字体, 则说明缺少统计信息, 这时, 在这些对象上右键--创建缺少的统计, 当所有缺少的统计都正确创建后, 每次查询结果顺序不一致的现象就会消失
我按照你教的方法做了一下,发现一些对象图里有A->Z这样的红色,但右键以后“创建缺少的统计”是灰色的。
我的sql是:(每页20条记录,下一次翻页时这个sql中的477会变成457再运行。但结果有两条是重复的,同样的sql在oracle里是不重复的)
select Top 20 * from (
select Top 477 * from (
select dp.deptname,
i.itemcode,
i.prdn as itemname,
sum(b.qty) as qty ,
sum(c.costprice*b.qty) as cost,
sum(b.pretaxamount) as amount,
sum(b.pretaxamount)-sum(c.costprice*b.qty) as profit ,
case when sum(b.pretaxamount)=0 then 0 when sum(b.pretaxamount)-sum(c.costprice*b.qty)=0 then 0 else (sum(b.pretaxamount)-sum(c.costprice*b.qty))/sum(b.pretaxamount) end as profitrate from invoice a,
invoicedetail b,
ckitem i ,
billing c,
contact co
left join employee em
left join department dp on em.deptid=dp.deptid on co.employeeid=em.employeeid WHERE 1=1
and b.itemid=i.itemid
and b.billingid=c.billingid
and a.invoiceid=b.invoiceid
and invoicetype=1
and a.booksetid=2000000003
and co.contactid=a.salesrep
and a.status=80 GROUP BY dp.deptname,
i.itemcode,
i.prdn ) F order by F.deptname asc ) G order by G.deptname DESC
如果你是英文版, 会看到明确的"miss sta...."看到这些信息才可能说明是缺少统计信息, 另外, 右键要在对象上右键