当前位置: 首页 > 面试题库 >

获取具有计数的独特记录

彭弘方
2023-03-14
问题内容

我有一张桌子和personidand msgcollums。

personid, msg
--------------
 1,      'msg1'
 2,      'msg2'
 2,      'msg3'
 3,      'msg4'
 1,      'msg2'

我想得到msg每个的总数personid。我正在尝试以下查询:

select distinct personid, count(*)
FROM mytable;

我也试过这个查询

select distinct personid, count(msg)
FROM mytable;

但是没有得到实际的结果。我想要以上数据的结果:

id, count
--------
1,   2
2,   2
3,   1

问题答案:

您只需要使用GROUP BY而不是即可DISTINCT。因此,请尝试以下查询:

SELECT personid, COUNT(msg) 
FROM mytable 
GROUP BY personid
ORDER BY personid;

看到这个SQLFiddle

GROUP BY让您使用聚合函数,如AVG()MAX()MIN()
SUM()COUNT()等而DISTINCT只是删除重复。



 类似资料:
  • 问题内容: 我有这样一个表(myTable): 我想要一个查询,该查询返回每个记录,但是增加了一个列,该列包含orig_id与当前行的id相等的其他行的计数。 结果表如下所示: 我尝试了以下查询,但没有结果: 我怎样才能达到预期的效果? 问题答案: 您可以通过联接和聚合来做到这一点:

  • 本文向大家介绍pandas 计数并获得独特元素,包括了pandas 计数并获得独特元素的使用技巧和注意事项,需要的朋友参考一下 示例 系列中唯一元素的数量: 获取系列中的独特元素: 每组中唯一元素的数量: 在每个组中获取唯一元素:            

  • 问题内容: 有没有一种方法可以获取MySQL数据库中所有表的行数而不在每个表上运行? 问题答案: 不过请从文档中注意:对于InnoDB表, 行数只是 SQL优化中使用 的粗略估计 。您需要使用COUNT(*)进行精确计数(这更昂贵)。

  • 问题内容: 我尝试在按排序结果后提取得到的第一行。如果不使用,我的查询将按预期方式工作,并返回按i_version_id排序的所有结果。但是,当我添加时(如下所示),它表示附近存在语法错误。请让我知道我在做什么错。 问题答案: 如果只得到,则无关紧要。这也是无关紧要的,因为按列分组将为您提供不同的值, 但是,如果要多个,只需删除括号即可:

  • 我想用Criterias执行这个查询,但它似乎没有按预期工作: 我试过这个 但是它返回一个结果,就像我在执行这个查询一样 它只返回列描述。 我的问题是,如何告诉Hibernate我想要表中的所有列,但我不想重复Description列中的变量?

  • 我在我当前的项目中实现了一个搜索功能,我正在使用HQL作为repo方法——除了出于某种原因搜索特殊字符外,一切都很好,HQL没有逃逸它。 我发送的字符串搜索是 abc_xyz(YYYYMM[t-2]-YYYYMM[t-1])_[xyz]HU. xlsx 调试步骤 在发送到Repo之前-我确实用以下字符替换了所有特殊字符-newsearchString是传递给Repo的字符串 我也试过了,没有替换特