mysql 怎样分组查询?(答案有用者给分)

chunhong_198915 2010-06-30 11:13:02
有一张表有三字段kh 卡号,kxszt 状态,kfkshbh 发卡编号
对应数据:
kh kxszt kfkshbh
001,'已制卡',111
002,'已发行',222
003,'已出售',222
004,'已发行',111
005,'已出售',333
006,'已制卡',111

怎么使用一条语句查询出不同发卡编号、状态的卡有多少张?
...全文
86 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
chunhong_198915 2010-06-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 sql_hhy 的回复:]
SQL code
select kfkshbh,kxszt,count(*) from 表 group by kfkshbh,kxszt
[/Quote]
这种方法和2楼的一样,也行不通的
chunhong_198915 2010-06-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 acmain_chm 的回复:]
SQL code
select kfkshbh,kxszt,count(*)
from 有一张表有
group by kfkshbh,kxszt
[/Quote]

我的解法的效果不是我想要的
kxszt 都还没有统计呢
chunhong_198915 2010-06-30
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 sql_hhy 的回复:]
引用 4 楼 chunhong_198915 的回复:

引用 1 楼 wwwwa 的回复:
贴记录及要求结果出来看看
select kfkshbh,sum(if(kxszt='已制卡',1,0)),
sum(if(kxszt='已发行',1,0)),
sum(if(kxszt='已出售',1,0))
from tt group by kfkshbh


老兄,能不能解释一下
……
[/Quote]

嗯,很好,原来和三元表达式差不多啊,不过我没这样用过,今天又学到一点东西,呵呵,多谢了
WWWWA 2010-06-30
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 chunhong_198915 的回复:]
引用 1 楼 wwwwa 的回复:
贴记录及要求结果出来看看
select kfkshbh,sum(if(kxszt='已制卡',1,0)),
sum(if(kxszt='已发行',1,0)),
sum(if(kxszt='已出售',1,0))
from tt group by kfkshbh


老兄,能不能解释一下意思啊,特别是if 里面的参数1,0不太理解呢
[/Quote]
猜的,你要达到什么目的,贴出来
SQL_Hhy 2010-06-30
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 chunhong_198915 的回复:]

引用 1 楼 wwwwa 的回复:
贴记录及要求结果出来看看
select kfkshbh,sum(if(kxszt='已制卡',1,0)),
sum(if(kxszt='已发行',1,0)),
sum(if(kxszt='已出售',1,0))
from tt group by kfkshbh


老兄,能不能解释一下
如果意思啊,特别是if 里面的参数1,0不太理解呢
[/Quote]

这个还不好理解 如果kxszt='已发行‘ 就返回1 否则就是 0
得到的合计 就是kxszt='已发行‘ 的数量呀
chunhong_198915 2010-06-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wwwwa 的回复:]
贴记录及要求结果出来看看
select kfkshbh,sum(if(kxszt='已制卡',1,0)),
sum(if(kxszt='已发行',1,0)),
sum(if(kxszt='已出售',1,0))
from tt group by kfkshbh
[/Quote]

老兄,能不能解释一下意思啊,特别是if 里面的参数1,0不太理解呢
SQL_Hhy 2010-06-30
  • 打赏
  • 举报
回复
select kfkshbh,kxszt,count(*) from 表 group by kfkshbh,kxszt

ACMAIN_CHM 2010-06-30
  • 打赏
  • 举报
回复
select kfkshbh,kxszt,count(*)
from 有一张表有
group by kfkshbh,kxszt
WWWWA 2010-06-30
  • 打赏
  • 举报
回复
贴记录及要求结果出来看看
select kfkshbh,sum(if(kxszt='已制卡',1,0)),
sum(if(kxszt='已发行',1,0)),
sum(if(kxszt='已出售',1,0))
from tt group by kfkshbh

57,062

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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