saya_sj 2009-03-26 14:22
浏览 326
已采纳

MySQL 查询问题(挑高手)

两个字段:
userid , sysid
123 , 1
123 , 1
123 , 2
123 , 2
124 , 3
124 , 3
124 , 4
124 , 4
125 , 5
126 , 8
126 , 8
126 , 8

以上数据,怎么样能查询出来结果为:
userid, sysid_times
123 ,2
124 ,2
125 ,1
126 ,3

注:同一Userid只统计不同的sysid的个数.如:userid 在表中一共有四条数据.如:sysid为1出现了两次算一次,sysid为2出现了两次算一次,
同理,其它的也一样.结果如上.
数据库为:Mysql 5 ,要求SQL的效率尽可能高.
请高手赐上SQL 语句.谢谢.

[b]问题补充:[/b]
不好意思,结果写错了一个,我要的结果应为:
123 ,2
124 ,2
125 ,1
126 ,1

  • 写回答

4条回答 默认 最新

  • xombat 2009-03-26 16:04
    关注

    [code="java"]select userid, count(distinct sysid) from asks group by userid[/code]
    不用子查询,也不用那么多group。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 gwas 分析-数据质控之过滤稀有突变中出现的问题
  • ¥15 没有注册类 (异常来自 HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))
  • ¥15 知识蒸馏实战博客问题
  • ¥15 用PLC设计纸袋糊底机送料系统
  • ¥15 simulink仿真中dtc控制永磁同步电机如何控制开关频率
  • ¥15 用C语言输入方程怎么
  • ¥15 网站显示不安全连接问题
  • ¥15 51单片机显示器问题
  • ¥20 关于#qt#的问题:Qt代码的移植问题
  • ¥50 求图像处理的matlab方案