一个sql子查询的例子
本文导语: 一个sql子查询的例子,有需要的朋友可以参考下。 二张表A和B A是主表 关联字段 A:visit_id B:visitId 二张表的数据如下: A: visit_id name text 1 张三 ...
一个sql子查询的例子,有需要的朋友可以参考下。
二张表A和B
A是主表 关联字段 A:visit_id B:visitId
二张表的数据如下:
A:
visit_id name text
1 张三 a
2 李四 a
3 王五 b
4 张三 a
B:
visitId typeId
1 65
1 14
2 65
2 14
3 65
3 14
2 14
想要得到结果集:
name visit_id次数 14汇总次数 65汇总次数 text汇总次数
张三 2 1 1 2
李四 1 2 1 1
王五 1 1 1 1
解决方法:
visit_id, name, text)as(
select 1, '张三', 'a' union all
select 2, '李四', 'a' union all
select 3, '王五', 'b' union all
select 4, '张三', 'a'),
B(
visitId, typeId)as(
select 1, 65 union all
select 1, 14 union all
select 2, 65 union all
select 2, 14 union all
select 3, 65 union all
select 3, 14 union all
select 2, 14)
select
name,COUNT(distinct visit_id),
COUNT(case when typeId=14 then 1 else null end),
COUNT(case when typeId=65 then 1 else null end),
(select COUNT(text) from a where name=c.name)
from B full join a c on c.visit_id=B.visitId
group by name
您可能感兴趣的文章:
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。