以B表name分组统计记录数,如何实现a_1,a_2为一组(A表中记录就算这一组a的两个都对应也只算一条,一下同),b_1,b_2一组,c_1,c_2一组(如果一条A表记录对应一个a_1和b_1算两条)。怎么实现这样的实现呢,求指导,解决问题加分。
谢谢æ¨çåçï¼æ¬èº«æ¯å¤å¯¹å¤å ³ç³»ï¼æ¯å¦A表æä¸æ¡æ°æ®ï¼B表ä¸æä¸æ¡å¯¹åºï¼name åå«æ¯a_1,a_2,b_1. æå ¶å®æ¯æ³ä»¥a,b,cä¸ç§ç±»åï¼å®é 表ä¸ä¸åå¨çè¿ç§å ³ç³»ï¼åç»ï¼è¿æ ·æ¶ï¼aç»ä¸é¢count为1ï¼bç»ä¸é¢count为1ï¼cç»count为0. ä½ ä¸é¢çç»è®¡åºè¯¥æ²¡æå»æè¿ç§ç»å éå¤å¢ã
追çé£å°±æä½ æ³åç»çnameåå°åä¸ä¸ªinéå°±OKå§ï¼
ä½ è¯´çç»å
éå¤æ¯ä»ä¹ææï¼æ²¡æå
å°±æä¸é¢è¯´çé£ç§æ åµï¼ä¸æ¡è®°å½ï¼aç»ä¸é¢count为2ï¼bç»ä¸é¢count为1ï¼cç»count为0ãèæéè¦çæ¯aç»ä¸é¢count为1ï¼bç»ä¸é¢count为1ï¼cç»count为0ãï¼'a_1','a_2' 为aç»ï¼'b_1','b_2'为bç»ï¼'c_1','c_2'为cç»ï¼
追çselect
case when sum(case when name like 'a%' then 1 else 0 end)>1 then 1 else sum(case when name like 'a%' then 1 else 0 end) end,
case when sum(case when name like 'b%' then 1 else 0 end)>1 then 1 else sum(case when name like 'b%' then 1 else 0 end) end,
case when sum(case when name like 'c%' then 1 else 0 end)>1 then 1 else sum(case when name like 'c%' then 1 else 0 end) end
from a,b
where a.å
³èå段=b.å
³èå段
åäºä¸ªå¤æï¼ç»å
å¦æ大äº1ï¼å°±æå¼è®¾ç½®æ1
谢谢您的回答,实际名字有些不同呢,请问下虚拟字段怎么搞呢?
追答select v from ( select left(name,2) as v from table ) a
group by v
谢谢您的回答,能详细点吗