精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-04-10
有一张表table1 结构如下. table1: username action 通过一条SQL语句得出下列统计数据: table2 username CALL_TIMES SEARCH_TIMES VIDEO_TIMES 说明: table.action 中所有可能的值都已知的,只有 CALL , SEARCH ,VIDEO 和 table2 的字段一一对应 table1 中目前数据50W条。 有没有效率较高的SQL语句?
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-04-10
这明显是一个交叉报表,就是说行头和列头都是动态从结果集里取得的。
应该先用一个简单的group by获得结果,再用报表工具,或者自己编程转换成最终结果。 语句为:select username,action,count(*) from table1 group by username,action 结果集为,例如: username action count(*) A CALL 2 A SEARCH 4 B CALL 3 B SEARCH 5 |
|
返回顶楼 | |
发表时间:2008-04-10
我自己做完成了
MYSQL 语句:
对应的 Oracle 语句:
select username,
|
|
返回顶楼 | |
发表时间:2008-04-11
不错,我也学了一招。
|
|
返回顶楼 | |
浏览 2960 次