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

标签 mysql sql count distinct conditional-statements

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

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

数据示例:

Data Sample

这是我到目前为止得到的:

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

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

感谢支持!

最佳答案

我想你想要这个:

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

关于mysql - 使用条件 mysql 获取最大 COUNT(DISTINCT),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21780151/

相关文章:

SQL - 将来自多个表的汇总数据连接在一起

mysql - 显示具有最相等条目的对象

r - 按顺序计算字符数,忽略给定字符 (R)

c# - 无法使用文本框输入进行查询

mysql - 在持久化到数据库之前检查记录是否存在

mysql - 如何在 Windows 上的 Node.js 中开始 MySQL 工作?

python - "*** Error in ` python': free(): corrupted unsorted chunks: 0x0000000000ff2460 ***"in Python 的原因及解决方法

sql - 联接中 WHERE 和 AND 子句的区别

javascript - onclick 获取数据并插入到文本区域

sql - SQL中多个字段的汇总查询