--一个业务的所有功能
CREATE TABLE `buse` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(255) default NULL,
`desc` varchar(255) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--用户表
CREATE TABLE `user` (
`id` int(11) NOT NULL auto_increment,
`username` varchar(255) default NULL,
`tel` varchar(255) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--用户使用功能的历史记录表
CREATE TABLE `user_buse` (
`id` int(11) NOT NULL auto_increment,
`user_id` int(11) default NULL,
`buse_id` int(11) default NULL,
`date` datetime default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--向功能表插入数据
INSERT INTO `buse` VALUES ('1', 'b1', 'x1');
INSERT INTO `buse` VALUES ('2', 'b2', 'x2');
INSERT INTO `buse` VALUES ('3', 'b3', 'x3');
INSERT INTO `buse` VALUES ('4', 'b4', 'x4');
--向用户表插入数据
INSERT INTO `user` VALUES ('1', 'aaa', '1111');
INSERT INTO `user` VALUES ('2', 'bbb', '222');
INSERT INTO `user` VALUES ('3', 'ccc', '333');
INSERT INTO `user` VALUES ('4', 'ddd', '444');
--向用户使用功能历史表插入数据
INSERT INTO `user_buse` VALUES ('1', '1', '1', '2012-08-03 11:35:43');
INSERT INTO `user_buse` VALUES ('2', '1', '2', '2012-08-01 11:36:00');
INSERT INTO `user_buse` VALUES ('3', '2', '3', '2012-08-03 11:36:41');
INSERT INTO `user_buse` VALUES ('4', '3', '4', '2012-08-01 11:37:00');
INSERT INTO `user_buse` VALUES ('5', '4', '4', '2012-08-01 11:37:00');
INSERT INTO `user_buse` VALUES ('6', '1', '2', '2012-08-01 11:37:00');
INSERT INTO `user_buse` VALUES ('7', '3', '3', '2012-08-01 11:37:00');
INSERT INTO `user_buse` VALUES ('8', '1', '4', '2012-08-01 11:37:00');
INSERT INTO `user_buse` VALUES ('9', '3', '1', '2012-08-01 11:37:00');
INSERT INTO `user_buse` VALUES ('10', '3', '2', '2012-08-01 11:37:00');
INSERT INTO `user_buse` VALUES ('11', '4', '1', '2012-08-01 11:37:00');
INSERT INTO `user_buse` VALUES ('12', '4', '2', '2012-08-01 11:37:00');
INSERT INTO `user_buse` VALUES ('13', '3', '4', '2012-08-01 11:37:00');
INSERT INTO `user_buse` VALUES ('14', '3', '1', '2012-08-01 11:37:00');
INSERT INTO `user_buse` VALUES ('15', '1', '4', '2012-08-01 11:37:00');
--业务
统计某段时间内使用各项功能一次 ,二次 ,三次以上的用户数量 占总用户的百分比。
统计出来的效果为:
--------------------------------------------------------------------------------------------
使用次数 功能1 所占百分比% 功能2 所占百分比% 功能3 所占百分比% 功能4 所占百分比%
---------------------------------------------------------------------------------------------
1次 10 0.1% 10 0.1% 10 0.1% 10 0.1%
---------------------------------------------------------------------------------------------
二次 10 0.1% 10 0.1% 10 0.1% 10 0.1%
---------------------------------------------------------------------------------------------
三次以上 10 0.1% 10 0.1% 10 0.1% 10 0.1%
---------------------------------------------------------------------------------------------
本人愚昧:
以上的sql的非常难写,我也问了一些人。有说写不出来。有的讲业务不对。有的讲业务没有意义。希望大家给我建议。
跪求sql 希望各位好汉帮帮忙,看下能不能想到,不管oracle或者Mysql。sql server本人不知道用。
我QQ:297907562
---------------------------------------------------------------------------------------------------------- |
|