求个取法:
SELECT s.cID, count( s.cID) AS click_num, c.Name FROM s, c WHERE s.cID = c.cID GROUP BY s.cID ORDER BY click_num DESC以上取出结果是这样的:记录ID 点击数 被点击标题 cID click_num Name 13 2 新闻标题一
750 1 新闻标题XXX
16 1 其它标题....
1 1 新闻九九九
19 1 新闻世家一草一木c表各条记录被点击一次,就在S_1表里插一条记录(记下点击时间,IP,被点击记录的cID),在一定程度下S_1表就停止被插入记录,就会往S_2表里插入记录......以前是表s与表c发生关系,现在又有表(s_1,s_2...)个表要与c联取。要取得以上结果,应该怎么取? 万分感谢!
SELECT s.cID, count( s.cID) AS click_num, c.Name FROM s, c WHERE s.cID = c.cID GROUP BY s.cID ORDER BY click_num DESC以上取出结果是这样的:记录ID 点击数 被点击标题 cID click_num Name 13 2 新闻标题一
750 1 新闻标题XXX
16 1 其它标题....
1 1 新闻九九九
19 1 新闻世家一草一木c表各条记录被点击一次,就在S_1表里插一条记录(记下点击时间,IP,被点击记录的cID),在一定程度下S_1表就停止被插入记录,就会往S_2表里插入记录......以前是表s与表c发生关系,现在又有表(s_1,s_2...)个表要与c联取。要取得以上结果,应该怎么取? 万分感谢!
供参考:
select cID,sum(click_num) as click_num,name from (
(select c.cID,count(c.cID) as click_num,c.name from c left join s_1 as s on s.cID=c.cID where s.cID is not null group by c.cID )
union all
(select c.cID,count(c.cID) as click_num,c.name from c left join s_2 as s on s.cID=c.cID where s.cID is not null group by s.cID)
) as j group by j.cID order by j.click_num desc
FROM (
select * from s1 union all select * from s2 union all .. .. .. select * from sn
)
as s, c WHERE s.cID = c.cID GROUP BY s.cID ORDER BY click_num DESC