问一个 SQL 语句
一个主表,有字段 nId,sName。
记录:
10 name10
13 name13
20 name20
从表,字段 pId,reply。
记录:
20 aaaaa
13 bbbbb
10 ccccccc
20 vvvvvv
20 hhhhhh
10 sssss
从表以字段 pId 与主表字段 nId 连接。
现在需要:从主表取记录,排序依据:根据从表中与主表关联的记录的个数来排序。
以上述的记录为例,主表的记录顺序应该为:
20 name20
10 name10
13 name13
假设主表名为 news,从表名为 reply。
谢谢。。。谢谢。。。谢谢。。。
这个SQL是可以做到 但是每次排序都需要COUNT一下 效率非常低.
推荐的做法是.在news表增加一个replycount的字段 每次回复了就+1.每次删除从表的记录还要 -1,不要忘了。然后这个字段弄成索引.排序效率非常高。
正解答案见:
http://blog.why100000.com/?p=723
相关问答:
我是在toad中输入下段sql
declare
TYPE test_rec IS record(
code varchar(10),
name varchar(30)
);
v_book test_rec;
......
sqlserver2005 建立的数据库,与手持pda传输数据,最近突然出现无法传递数据的问题,pda端提示的错误时outofmemoryexception,但是pda上面的容量没有问题,
sqlserver的日子上的错误如下:
日期 2010-1-25 14:45: ......
tab1 字段:billdate,goodsid,incount,inmoney,outcount,outmoney,endprice,endcount,endamt
tab2 字段:goodsid,goodskind(商品类型)
tab3 字段:goodskind(商品类型),kindname
结果:
得到商品类型在一段时间 ......
字段1,字段2.....字段N,Status,ParentID
1,Name1....test1,1,99
1,Name1....test1,3,99
1,Name2....test2,1,101
1,Name2....test2,3,101
1,Name3....test3,2,101
1,Name1....test1,4,101
想要的结果是:
1,Na ......