首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SQLSQLdistinct的用法

转载自:https://www.cnblogs.com/leonlee/p/6042461.html 1.作用于单列 2.作用于多 3.COUNT统计 4.distinct必须放在开头 5.其他 在表...示例2.2 select distinct xing, ming from B 返回如下结果: 返回的结果为两行,这说明distinct并非是对xing和ming两“字符串拼接”后再去重的,而是分别作用于了...3.COUNT统计 select count(distinct name) from A; --表name去重后的数目, SQL Server支持,而Access不支持 count是不能统计多个字段的...但可以通过其他方法实现关于SQL Server将一的多行内容拼接成一行的问题讨论 附W3school的讲解 SQL SELECT DISTINCT 语句 在表,可能会包含重复值。...如需 Company” 仅选取唯一不同的值,我们需要使用 SELECT DISTINCT 语句: SELECT DISTINCT Company FROM Orders 结果: Company

1.2K20
您找到你想要的搜索结果了吗?
是的
没有找到

SQLdistinct的用法

在表,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。关键词 distinct用于返回唯一不同的值。...表A: 表B: 1.作用于单列 select distinct name from A 执行后结果如下: 2.作用于多 示例2.1 select distinct name, id from...示例2.2 select distinct xing, ming from B 返回如下结果: 返回的结果为两行,这说明distinct并非是对xing和ming两“字符串拼接”后再去重的,而是分别作用于了...3.COUNT统计 select count(distinct name) from A; --表name去重后的数目, SQL Server支持,而Access不支持 count是不能统计多个字段的...但可以通过其他方法实现关于SQL Server将一的多行内容拼接成一行的问题讨论

1.7K30

删除的 NULL 值

今天接到一个群友的需求,有一张表的数据如图 1,他希望能通过 SQL 查询出图 2 的结果。 ? 图 1 原始数据 ?...图 2 输出的结果 先来分析图 1 是怎么变成图 2,图1 的 tag1、tag2、tag3 三个字段都存在 NULL 值,且NULL值无处不在,而图2 里面的NULL只出现在这几个字段的末尾。...那用 SQL 怎么表示呢? 有一个思路:把每一去掉 NULL 后单独拎出来作为一张独立的表,这个表只有两个字段,一个是序号,另一个是去 NULL 后的值。...一个比较灵活的做法是对原表的数据做转行,最后再通过行转列实现图2 的输出。具体的实现看下面的 SQL(我偷懒了,直接把原数据通过 SELECT 子句生成了)。...,按值在原表的列出现的顺序设置了序号,目的是维持同一的值的相对顺序不变。

9.7K30

SQL 查询结果里查询

有orders表: 我想要从查出每天电动车和手机各自的销售总额。这个需求还是蛮简单的,仅仅须要依据createtime和product group by即可了。...BY DATE_FORMAT(createtime, "%Y-%m-%d"), product 查询结果例如以下: 这个结果确实满足了我的需求,可是存在一个问题。...假设查询结果是以下这个样子,我想看起来会舒服得多: 对于怎样直接查询出这种结果,我是一点想法都没有,可是,我却知道怎样从上一个SQL语句的查询结果查询从而得到想要的结果。...语句创建orders表和向表插入数据: create table orders( id int PRIMARY KEY auto_increment, product VARCHAR(64) null...提示: 本文全部SQL语句均依据MySQL数据库编写。

2.7K10

SQL的行转列和转行

而在SQL面试,一道出镜频率很高的题目就是行转列和转行的问题,可以说这也是一道经典的SQL题目,本文就这一问题做以介绍分享。 ? 给定如下模拟数据集,这也是SQL领域经典的学生成绩表问题。...scoreWide 考察的问题就是通过SQL语句实现在这两种形态间转换,其中长表转为宽表即行转列,宽表转为长表即转行。...其基本的思路是这样的: 在长表的数据组织结构,同一uid对应了多行,即每门课程一条记录,对应一组分数,而在宽表需要将其变成同一uid下仅对应一行 在长表,仅有一记录了课程成绩,但在宽表则每门课作为一记录成绩...,然后将该命名为course;第二个用反引号包裹起来的课程名实际上是从宽表引用这一的取值,然后将其命名为score。...这实际上对应的一个知识点是:在SQL字符串的引用用单引号(其实双引号也可以),而字段名称的引用则是用反引号 上述用到了where条件过滤成绩为空值的记录,这实际是由于在原表存在有空值的情况,如不加以过滤则在本例中最终查询记录有

6.9K30

SQL 的行转列和转行

行转列,转行是我们在开发过程中经常碰到的问题。行转列一般通过CASE WHEN 语句来实现,也可以通过 SQL SERVER 的运算符PIVOT来实现。用传统的方法,比较好理解。...下面我们通过几个简单的例子来介绍一下转行、行转列问题。...实际,可能支付方式特别多,而且逻辑也复杂很多,可能涉及汇率、手续费等等(曾经做个这样一个),如果支付方式特别多,我们的CASE WHEN 会弄出一大堆,确实比较恼火,而且新增一种支付方式,我们还得修改脚本如果把上面的脚本用动态...有关如何设置数据库兼容级别的信息,请参阅 sp_dbcmptlevel (Transact-SQL)。...下面我们来看看转行,主要是通过UNION ALL ,MAX来实现。

5.3K20

SQL:删除重复的记录

select * from test if object_id('#') is not null drop table # --注意(是单个字段的不同还是多个字段,这里是name) select distinct...(name) into # from test --查看新表的数据 select from # --清空旧表 truncate table test --将新表的数据插入到旧表 insert test...select from # --删除新表 drop table # --查看结果 select from test 查找表多余的重复记录,重复记录是根据单个字段(peopleId...peopleId in (select  peopleId  from  people  group  by  peopleId  having  count(peopleId) > 1)  2、删除多余的重复记录...a.peopleId,a.seq) in  (select peopleId,seq from vitae group by peopleId,seq  having count() > 1)  4、删除多余的重复记录

4.7K10

详述 SQL distinct 和 row_number() over() 的区别及用法

2 distinctSQL ,关键字 distinct 用于返回唯一不同的值。...这时,就需要用到 distinct 关键字啦!接下来,运行如下 SQL 语句, select distinct name from PPPRDER.CESHIDEMO 将会得到如下结果: ?...既然想到了,咱们就试试呗,运行如下 SQL 语句, select distinct name, age from PPPRDER.CESHIDEMO 得到的结果如下所示: ?...再运行如下的 SQL 语句, select distinct name, age from PPPRDER.CESHIDEMO 得到的结果如下所示: ? 观察该结果,完美的验证了咱们上面的结论。...从上面的结果可以看出,其在原表的基础上,多了一标有数字排序的。那么反过来分析咱们运行的 SQL 语句,发现其确实按字段 AGE 的值进行分组了,也按字段 NAME 的值进行排序啦!

2.2K70

对比Excel,Python pandas删除数据框架

标签:Python与Excel,pandas 删除也是Excel的常用操作之一,可以通过功能区或者快捷菜单的命令或者快捷键来实现。...准备数据框架 创建用于演示删除的数据框架,仍然使用前面给出的“用户.xlsx”的数据。 图1 .drop()方法 与删除行类似,我们也可以使用.drop()删除。...唯一的区别是,在该方法,我们需要指定参数axis=1。下面是.drop()方法的一些说明: 要删除单列:传入列名(字符串)。 删除:传入要删除的名称列表。...图2 del方法 del是Python的一个关键字,可用于删除对象。我们可以使用它从数据框架删除。 注意,当使用del时,对象被删除,因此这意味着原始数据框架也会更新以反映删除情况。...图3 重赋值方法 也就是方括号法,但这不是真正的删除方法,而是重新赋值操作。但是,最终结果删除相同。

7.1K20

使用VBA删除工作表多的重复行

标签:VBA 自Excel 2010发布以来,已经具备删除工作表重复行的功能,如下图1所示,即功能区“数据”选项卡“数据工具——删除重复值”。...图1 使用VBA,可以自动执行这样的操作,删除工作表所有数据的重复行,或者指定的重复行。 下面的Excel VBA代码,用于删除特定工作表所有的所有重复行。...如果没有标题行,则删除代码后面的部分。...如果只想删除指定(例如第1、2、3的重复项,那么可以使用下面的代码: Sub DeDupeColSpecific() Cells.RemoveDuplicates Columns:=Array...(1, 2, 3), Header:=xlYes End Sub 可以修改代码中代表列的数字,以删除你想要的的重复行。

11K30
领券