0

我有桌子

用户名已读
HuynhNH 真
HuynhNH 错误    
HuynhNH 真
HaiNV 错误    
HaiNV真
QuyetM 假

并得到结果:

用户名已读
HuynhNH 2     
海NV 1
QuyetM 0

sql怎么写?谢谢支持

4

2 回答 2

1

尝试-

SUM(CASE WHEN Readed = 'True' THEN 1 ELSE 0 END)
于 2013-09-14T13:54:25.520 回答
0

这取决于您的数据库,是Mysql吗?

你可以这么简单:

select username,
       sum(readed)
from t
group by username;

测试数据:

create table t (
  username char(20),
  readed boolean
  );

insert into t values('HuynhNH',true);
insert into t values('HuynhNH',false);
insert into t values('HuynhNH',true);
insert into t values('HaiNV',false);
insert into t values('HaiNV',true);
insert into t values('QuyetM',false);

insert into t values('MrSimpleMind',true);
insert into t values('MrSimpleMind',false);

请参阅 SQLFiddle:

http://sqlfiddle.com/#!2/fc217/4

于 2013-09-14T14:02:46.010 回答