一张表统sql语句计....在线等.

cqhweb 2009-05-24 03:16:01
现有一表有数据如下:

RECEIVESMS_ID NOTES_ID MOBILE IS_NEW
83 bailaxiusx 13734039384 0
97 bailaxiusx 13734039384 0
101 bailaxiusx 13734039384 0
102 bailaxiusx 13734039384 1
84 SXADM 13734039384 0
98 bailaxiusx 13934116969 0
99 bailaxiusx 13934116969 1

提示:我用sql

SELECT NOTES_ID,MOBILE,COUNT(*) AS total FROM tb WHERE NOTES_ID ='bailaxiusx' GROUP BY NOTES_ID,MOBILE


仅得出这样的数据..
NOTES_ID MOBILE total
bailaxiusx 13734039384 4
bailaxiusx 13934116969 2


------------------希望输出以下结果-------

NOTES_ID MOBILE total IS_NEW_0 IS_NEW_1
bailaxiusx 13734039384 4 3 1
bailaxiusx 13934116969 2 1 1

谢谢各位仁兄指点...sql怎么写?

...全文
61 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cqhweb 2009-05-24
  • 打赏
  • 举报
回复
不行..要转换数据类型..
王向飞 2009-05-24
  • 打赏
  • 举报
回复
SELECT NOTES_ID,MOBILE,COUNT(*) AS   total, IS_NEW_0 =SUM(CASE WHEN IS_NEW=0 THEN 1 ELSE 0 END),IS_NEW_1 =SUM(CASE WHEN IS_NEW=1 THEN 1 ELSE 0 END) FROM tb WHERE NOTES_ID ='bailaxiusx' GROUP BY NOTES_ID,MOBILE 
cqhweb 2009-05-24
  • 打赏
  • 举报
回复
IS_NEW 是varchar类型的 不能换行

SUM(CASE WHEN IS_NEW=0

报:
conversion from datatype 'VARCHAR' to 'INT' is not allowed. Use the CONVERT function to run this query.
liangCK 2009-05-24
  • 打赏
  • 举报
回复
SELECT NOTES_ID,MOBILE,COUNT(*) AS total ,
SUM(CASE WHEN IS_NEW=0 THEN 1 ELSE 0 END) AS IS_NEW_0,
SUM(CASE WHEN IS_NEW=1 THEN 1 ELSE 0 END) AS IS_NEW_1
FROM tb
WHERE NOTES_ID ='bailaxiusx'
GROUP BY NOTES_ID,MOBILE

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧