如果MYSQL select查询中的列相同,则删除所有重复项

如果MYSQL select查询中的列相同,则删除所有重复项,mysql,Mysql,我目前使用以下方法从我的数据库中提取今天的数据: select TheTime, Thename, theplace from Stats where Selection = "SIR" and Thedata > 19.99 and DATE(TheTime) = CURDATE() SELECT DISTINCT createdOn FROM tbldata 时间字段是日期时间字段。我想检查此字段中是否有重复的时间。如果存在,则从select查询中将其全部删除 我只寻找有1个不

我目前使用以下方法从我的数据库中提取今天的数据:

select TheTime, Thename, theplace from Stats where Selection = "SIR" and Thedata > 19.99 and DATE(TheTime)  = CURDATE() 
SELECT DISTINCT createdOn FROM tbldata
时间字段是日期时间字段。我想检查此字段中是否有重复的时间。如果存在,则从select查询中将其全部删除

我只寻找有1个不同日期时间的结果。我尝试使用“选择不同的时间”,但它仍然拉取了非差异值。

按时间尝试分组


SELECT DISTINCT正在使用键,因此您必须将时间用作键才能使其工作。

我已在我的数据库上尝试了以下查询:

select TheTime, Thename, theplace from Stats where Selection = "SIR" and Thedata > 19.99 and DATE(TheTime)  = CURDATE() 
SELECT DISTINCT createdOn FROM tbldata
createdOn是具有当前\u时间戳默认表达式的DATETIME数据元素。 查询返回不同的值。我的服务器版本是8.0.15,InnoDB引擎

请注意

在MariaDB中,DISTINCT子句不忽略空值。因此,在SQL语句中使用DISTINCT子句时,结果集将包含NULL作为一个DISTINCT值


GROUP BY THIME仍然会根据order BY给我1个结果,不是吗?您的MySQL是什么版本?10.2.25-MariaDB-cll-LVE这些列名。Selection=SIR养成习惯用单引号在SQL中编写字符串值。。在ANSI/ISO SQL标准中,双引号表示标识符,表示列和/或表名。@RaymondNijland感谢您的提示!在MariaDB中,DISTINCT子句不忽略空值。因此,在SQL语句中使用DISTINCT子句时,结果集将包含NULL作为一个DISTINCT值。Wierd语句我认为我们发现了新的W3傻瓜,因为它在ANSI/ISO SQL标准中听起来很独特,被设计为忽略空值。。