问个sql语句,统计两个字段组合的行数,要把行数为0的情况也列出来,id | brand |+-------------+-------+| | 1001 | A || 1002 | A || 1002 | B || 1002 | B || 1002 | B || 1002 | C || 1003 | A || 1003 | B || 1003 | C || 1004 | A || 1004 | A || 1004 | B || 1005 | A || 1005 | A |假设我有如上的数据,表的名字假设为info吧,我想得到如下的的输出,就是多出来的num字段,是对id和brand组合的计数统计,关键问题是,比如1001和B的组合是没有的,但是也要给出一个0,来表示没有这个组合,其实如果是直接忽略掉次数为0的这种情况是比较简单的,但是一定要把为0的情况也列出来.我实在想不出来了,id | brand |num+-------------+-------+-------| 1001 | A |2| 1001 | B |0| 1001 | C |0| 1002 | A |1| 1002 | B |3| 1002 | C |1| 1003 | A |1| 1003 | B |1| 1003 | C |1| 1004 | A |2| 1004 | B |1| 1004 | C |0| 1005 | A |2| 1005 | B |0| 1005 | C |0
禽兽放开水果4y
try SELECT t.id,t.brand, count(info.id)FROM (SELECT DISTINCT t1.brand, info.id from (SELECT distinct brand from info) t1, info) t LEFT JOIN infoON t.brand = info.brand and t.id = info.idgroup by t.id,t.brandorder by t.id
为您推荐:
扫描下载二维码}