一份明细数据,结构是user_id和3类特征列(特征列的值范围都是0-2),如何对各特征列同时聚合,展示各特征列各个范围值的计数。
样例数据如下:
create table t526 (
user_id int,
a_times int,
b_times int,
c_times int
);
INSERT into t526 VALUES(101,1,0,2),(102,2,1,2),(103,1,1,2),(104,0,2,2),(105,1,1,1),(106,1,2,2),(107,1,1,1),(108,2,2,2),(109,2,0,2),(110,1,2,2);
通过join的方式可以
SELECT* FROM (SELECT a_times as times ,count(1) as a_times from t526 GROUP BY a_times)A
left join (SELECT b_times as times ,count(1) as b_times from t526 GROUP BY b_times)B using(times)
left join (SELECT C_times as times ,count(1) as C_times from t526 GROUP BY C_times)C using(times)
因为在实际中查询较为复杂,想请教下,是否有巧妙的办法可以直接聚合出来,
不知道你这个问题是否已经解决, 如果还没有解决的话:对于创建Novel时候事先对该用户预留该名字,相同用户再次预留该名字时候就会失败。
弊端:首次预留名字的创建失败,导致第二次预约的登陆用户也不可用该名字,体验不好。