表1:keyword(关键词表)数据内容如下:
id kwds records
1 汽车 0
2 珠宝 0
3 手机 0
4 笔记本 0
5 风扇 0
keyword中的字段值都是唯一的.表2:info(信息表)数据内容如下:
id kwds
1 汽车
2 汽车
3 汽车
4 珠宝
5 珠宝
6 珠宝
7 笔记本
8 风扇
9 笔记本
10 珠宝
11 手机 我要统计表keyword中各个关键词,在表info中有多少条对应的信息,
并将统计的信息记录数填在表keyword的records字段中.
例如:keyword表中的"汽车",在info表对应有"3"条记录,将"3"填写在keyword表中"汽车"的records字段中.
因为信息量很大,info表中有100万条记录
请问怎么写这个SQL语句,让执行效率加快。能用一句SQL语句实现吗?
谢谢!
id kwds records
1 汽车 0
2 珠宝 0
3 手机 0
4 笔记本 0
5 风扇 0
keyword中的字段值都是唯一的.表2:info(信息表)数据内容如下:
id kwds
1 汽车
2 汽车
3 汽车
4 珠宝
5 珠宝
6 珠宝
7 笔记本
8 风扇
9 笔记本
10 珠宝
11 手机 我要统计表keyword中各个关键词,在表info中有多少条对应的信息,
并将统计的信息记录数填在表keyword的records字段中.
例如:keyword表中的"汽车",在info表对应有"3"条记录,将"3"填写在keyword表中"汽车"的records字段中.
因为信息量很大,info表中有100万条记录
请问怎么写这个SQL语句,让执行效率加快。能用一句SQL语句实现吗?
谢谢!
set records=(select count(id) from info where kwds=a.kwds)
from keyword a
from keyword a
from keyword a,
(select kwds,[count]=count(kwds) from info group by kwds) b where a.kwds=b.kwds