跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 求助一个 sql 写法, 一个表, 只有 2 个字段
未分類
4 2 月 2021

求助一个 sql 写法, 一个表, 只有 2 个字段

求助一个 sql 写法, 一个表, 只有 2 个字段

資深大佬 : DinoStray 9

有个表, 只有两个字段 a, b, 取值范围都是 1- 3
现在我想统计, 遍历 a 的每个值, 对应的 b 每个值出现次数

列    a=1              a=2              a=3 b=1  b=1 出现 3 次  b=1 出现 2 次  b=1 出现 2 次     b=2  b=2 出现 0 次  b=2 出现 1 次  b=2 出现 2 次 b=3  b=3 出现 1 次  b=3 出现 1 次  b=3 出现 8 次 

大佬有話說 (12)

  • 資深大佬 : ynwcel

    “`sql
    select
    b,
    (select count(*) from <table> where a = 1 and b = outa.b) as a1,
    (select count(*) from <table> where a = 2 and b = outa.b) as a2,
    (select count(*) from <table> where a = 3 and b = outa.b) as a3
    from (select distinct b from <table>) as outa
    “`
    不知道满足要求不。~?

  • 主 資深大佬 : DinoStray

    @ynwcel 谢谢哈, 不满足, 因为问题被我极度简化了, 实际取值范围其实是很大的

  • 主 資深大佬 : DinoStray

    @ynwcel 所以希望不能 a=1 2 3 这种写死的, 最好能变量另一个结果集

  • 資深大佬 : liprais

    你要的不就是 a,b,count(*)么?

  • 資深大佬 : ttys001

    select a, count(distinct b) from table group by a;

  • 資深大佬 : ttys001

    @ttys001 select a, b, count(distinct b) from table group by a;

  • 資深大佬 : asAnotherJack

    select a,b,count(*) from t group by a,b;
    这样有什么问题吗

  • 資深大佬 : xuanbg

    7 应该是对的

  • 資深大佬 : Still4

    一般 sql 做动态二维表有点难吧,考虑存储过程,或者读出来外部程序单独处理

  • 資深大佬 : zlowly

    应该就是 7 的统计方式就行了,除非主希望的数据展现方式不同,难道是横轴为 a 的取值集合,竖轴为 b 的取值集合这种不定宽表格?

  • 資深大佬 : cslive

    7 是可以得,如果横排少可以再用 case when 转一下,前段时间我这样竖转横搞了几张表,转了几十列

  • 主 資深大佬 : DinoStray

    @asAnotherJack 没问题, 就要这个, 我对 sql 不熟悉没想到, 谢谢

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具