首页 文章

使用条件mysql获取最大的COUNT(DISTINCT)

提问于
浏览
0

现在我正在尝试从mysql表中返回最大的COUNT(DISTINCT列)数 . 这很难描述,所以我给你举个例子:

我的表包含以下列:s_id,k_id,p_id . 现在我想计算不同的s,条件是每个条目也有相同的p_id . 我需要这个来准备一个HTML表(所以我知道这个表将有多少列) .

Data Example:

Data Sample

到目前为止,这就是我所得到的:

SELECT COUNT(DISTINCT k_id) AS a FROM `table`

这个问题是,可能有4个不同的k_id,但其中3个与p_id = 1相关,最后一个与p_id = 2相关.a返回4而不是3 .

感谢你的支持!

2 回答

  • 1

    我想你想要这个:

    select p_id, count(distinct s_id) as cnt
      from table 
      group by p_id
      order by cnt desc
      limit 1;
    
  • 0

    请考虑一下:

    select max(count(distinct(k_id))) from table 
    group by p_id
    

相关问题