首页 > 数据库 >sql 分组去重(转载)

sql 分组去重(转载)

时间:2023-04-20 14:44:39浏览次数:38  
标签:customer DISTINCT 查询 分组 sql 转载 id SELECT

转载来源:https://blog.csdn.net/weixin_35750483/article/details/129077221

在 SQL 中,要对查询结果进行分组并去重,可以使用 GROUP BY 和 DISTINCT 关键字。

例如,假设有一张名为 orders 的表,其中有两个字段:customer_id 和 product_id。要查询每个客户订购的不同的产品数量,可以使用以下查询:

SELECT customer_id, COUNT(DISTINCT product_id)
FROM orders
GROUP BY customer_id;

这个查询会对每个 customer_id 分组,并统计每组内不同的 product_id 的数量。

要注意,如果在 SELECT 子句中使用了 DISTINCT 关键字,它会在整个查询结果中去除重复行。因此,如果要去重,应该将 DISTINCT 放在聚合函数(如 COUNT)的参数中,而不是将它放在 SELECT 子句中。


标签:customer,DISTINCT,查询,分组,sql,转载,id,SELECT
From: https://www.cnblogs.com/hao-1234-1234/p/17336766.html

相关文章

  • MySQL 优化
    Mysql优化总的来说就是尽量提高索引的利用率,和减少全表扫描尽量拆分查询,在程序中处理,一般不要过多连表链接查询一般都是用左小表链接右大表,看情况用左链接还是内连接利用redis进行缓存,并提高缓存命中使用explain进行检查检查索引使用情况,尽量将条件放......
  • Fedora 8下的MySQL源码安装手记
    评:系统开发计划改变!弃PostgreSQL!拥抱MySQL!当然前提是依然支持BerkeleyDB作为存储引擎的MySQL版本,5.1.12版本的MySQL已经正式将BDB从数据库引擎列表中扫地出门,虽然MySQL宣称这和Oracle收购Sleepycat没有任何关系,但是Oracle发面称是公司内部BDB开发团队要求取消支持的,所以也不太清......
  • MySQL InnoDB Architecture 简要介绍
    MySQLInnoDB存储引擎整体架构图:一、内存存储结构 1、BufferPoolbufferpool是主内存中的一块儿存储区域,用于存储访问的表及索引数据。这样从内存中直接访问获取使用的数据可以极大的提升访问效率。在一些特殊专用的服务里,几乎80%的内存区域都被赋于bufferpool。为了......
  • PL/SQL Developer自动补全SQL技巧
    s=SELECTt.*FROMtw=WHEREb=BETWEENANDl=LIKE'%%'o=ORDERBYinsw=IN(SELECTaFROMaWHEREa)sw=SELECTt.*FROMtWHEREtsc*=SELECTCOUNT(*)FROMtst=SELECTt.*,t.ROWIDFROMtf=FORUPDATEu=UPDATEtSET......
  • PostgreSQL中的复制延迟
    PostgreSQL是一个流行的开源关系数据库管理系统,PostgreSQL中可能遇到的一个常见问题是复制延迟。在这篇博客中,我们将讨论什么是复制延迟,它为什么会发生,以及如何在PostgreSQL中减轻它。什么是复制延迟?复制延迟是指数据写入主数据库和复制到备用数据库之间的时间延迟。在PostgreSQ......
  • 服务器安装pgsql14.2
    1.0wgethttps://ftp.postgresql.org/pub/source/v14.2/postgresql-14.2.tar.gz--no-check-certificate2.0tar-zxvfpostgresql-14.2.tar.gz3.0mvpostgresql-14.2/postgresql4.0cdpostgresql5.0./configure--prefix=/usr/local/postgresql【在执行./configu......
  • mysql重连,连接丢失:The Last Packet Successfully Received From the Server
    源:http://nkcoder.github.io/评:1.1错误信息:Causedby:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Thelastpacketsuccessfullyreceivedfromtheserverwas20,820,001millisecondsago.Thelastpacketsentsuccessfullytotheserverwas20,82......
  • Mysql经mysql连接的空闲时间超过8小时后 MySQL自动断开该连接解决方案
    评:MySQL的默认设置下,当一个连接的空闲时间超过8小时后,MySQL就会断开该连接,而c3p0连接池则以为该被断开的连接依然有效。假设你的数据库是mysql,如果数据源配置不当,将可能发生经典的“8小时问题”。原因是mysql在默认情况下,如果发现一个连接的空闲......
  • Oracle MySQL Server 拒绝服务漏洞(CVE-2023-21912) 修复
    CVE编号公告标题和摘要最高严重等级受影响的软件CVE-2023-21912OracleMySQLServer拒绝服务漏洞未经身份验证的远程攻击者可通过MySQL协议网络访问MySQLServer,成功利用此漏洞可导致目标MySQLServer挂起或频繁重复崩溃,造成拒绝服务攻击重要MySQLServer<=5.7.41......
  • 记录一次使用 表达式引擎 自定义注解 还有 sql union all 实现对数据库数据提取、重组
    这样编写减少了前后端很多没必要的遍历,以及if判断并最大限度提高了代码的可变通性额外需要学习的是ORM框架下,如何接收多表(各表结构不同)操作后,sql返回的新结构的临时表问题表达式引擎用到的依赖<dependency><groupId>org.apache.commons</groupId>......