ACCESS 数据库,关于 DISTINCT 的一些问题

ACCESS 数据库,关于 DISTINCT 的一些问题,第1张

你的SQL代码中的DISTINCT运算符使用方法不对。

DISTINCT只能对返回结果集的整行取唯一值,而不能对结果集其中的单个字段取唯一值,如果需要对单个字段取唯一值,解决的办法是对只含一个输出字段的SELECT语句使用DISTINCT *** 作符,但是请记住DISTINCT *** 作符不能当做函数使用,就像你提问中的那种写法“DISTINCT(czdl),”否则Jet引擎会报错。

本来想直接替你修改那段SQL代码,但是从你的SQL代码来看,不太容易弄清楚你的实际意图,改写的效果不一定适用,故暂不提供。

如果你能将所要的输出意图讲清楚,我可以为你编写一个正确的SQL代码

以下尝试修正你的SQL代码:

根据你的提问内容做如下猜测

有两张表,

czjl ( *** 作记录表)

字段:czdl( *** 作登录),czrq( *** 作日期),czje( *** 作金额)

vip(vip表)

字段:vid(vip编号),VName(vip名字)

vip表的vid字段与czjl表的czdl字段构成一对多关系

要求输出ID,姓名, *** 作日期,同一个VIP的当天 *** 作金额小计,同一人同一天有多条记录时只显示一次并按 *** 作日期降序排序

sql="select czjlczdl,vipVName,czjlczrq,sum(czjlczje) as czje from vip,czjl where vipvid=czjlczdl group by czdl,VName,czrq order by czrq DESC"

如果不要求输出czje *** 作金额的话,可以使用DISTINCT关键字将SQL代码简化为

sql="SELECT DISTINCT czdl, VName, czrq FROM vip, czjl WHERE vipvid=czjlczdl

ORDER BY czrq DESC"

如果以上猜测不符合你的想法,请发追问。

excel 中 怎么实现sql中的distinct 功能,在sheet中是数据源,把distinct的结果数据显示在sheet2中

在数据库的设计中,如何实现Distinct *** 作呢?一般有两种基本思路:排序(Sort)法,哈希(Hash)法。

排序法将表格中的数据全部按照distinct指定的列为key进行排序,然后逐行迭代,每迭代出一行数据都与上一行数据根据key作对比,如果相同,则丢弃当前行继续迭代下一行,如果不同则输出。排序法带来的一个副作用就是数据输出按照key有序。mysql在某些情况下不是使用排序法,通过下面的输出可以观察到行并不是有序的:

Select Distinct的意思是查找重复的意思,在SQL语句中的作用是过滤结果集中的重复值。

在表中,可能会包含重复值,关键词 DISTINCT 用于返回唯一不同的值,语法为

SELECT DISTINCT 列名称 FROM 表名称。

如果要从 "Company" 列中选取所有的值,我们需要使用 SELECT 语句,语句如下:

SELECT Company FROM Orders

SQL 是一门 ANSI 的标准计算机语言,用来访问和 *** 作数据库系统。SQL 语句用于取回和更新数据库中的数据。SQL 可与数据库程序协同工作,比如 MS Access、DB2、Informix、MS SQL Server、Oracle、Sybase 以及其他数据库系统。

用group by 啊

比如

select 姓名 from 表名 group by 姓名

等同于

select distinct 姓名 from 表名

以上就是关于ACCESS 数据库,关于 DISTINCT 的一些问题全部的内容,包括:ACCESS 数据库,关于 DISTINCT 的一些问题、excel中怎么实现sql中的distinct功能、请问sql语句“Select Distinct”是什么意思可不可以讲一下它的用法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9326919.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存