MySql 查询结果不包含重复

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySql 查询结果不包含重复相关的知识,希望对你有一定的参考价值。

举个例子吧,看着就懂,
方法1:加关键字 DISTINCT,这样选出来的name就不包含重复内容了!
如:
SELECT DISTINCT name
FROM Product
WHERE price>100;
方法2:用GROUP By 分组。但是GROUP By后面出现的属性并需在SELECT后面也出现。
SELECT name
FROM Product
WHERE price<100
GROUP By name;
参考技术A 行结果不重复用 DISTINCT,在SELECT后面添加就可以了,其他的不变

列的话需要注意:如果是多表连接查询,对两个表都有的列(列名相同)需要指定表名,即在SELECT后面用“表.列”表示。。。。
参考技术B 你要知道不重的是那些字段
select DISTINCT 你要的字段

如何合并两个select mysql查询的结果[重复]

【中文标题】如何合并两个select mysql查询的结果[重复]【英文标题】:How to merge the result of two select mysql query [duplicate] 【发布时间】:2021-11-09 12:58:47 【问题描述】:

我的第一个查询是

select GEAR,count(GEAR) 
from new_failure 
where STN_CODE = "BVH" group by(Gear);

它的结果是

图片不可见时的结果

# GEAR  Total
SIGNAL  8
POINT   16
HASSDAC 5
,SIGNAL 1
SSDAC   1
TRACK CIRCUIT   9
UFSBI   2
DC  1

第二次查询

select GEAR,count(GEAR) 
from new_failure 
where STN_CODE = "BVH"  
and MONTH(fail_time) = 4 
group by(Gear);

结果

# GEAR  April
SIGNAL  3
POINT   4
HASSDAC 1
,SIGNAL 1
SSDAC   1

我希望结果如下图所示

【问题讨论】:

请查看***.com/questions/10538539/… select t1.Gear, t1.[This],COALESCE(t2.[April],0) AS [ April] from (select GEAR,count(GEAR) as "This" from new_failure where STN_CODE = "BVH" group by(Gear)) t1 LEFT JOIN (select GEAR,count(GEAR) as "April" from new_failure 其中STN_CODE = "BVH" and MONTH(fail_time) = 4 group by(Gear)) t2 on (t1 .Gear = t2.Gear);我的查询看起来像这样,但在 t1 出现错误。[this] "[" is not valid 【参考方案1】:

您可以使用 LEFT JOIN、RIGHT JOIN 或 JOIN,具体取决于您的目标是什么,

SELECT * 
FROM ( select GEAR,count(GEAR) 
       from new_failure 
       where STN_CODE = "BVH" group by(Gear) AS A
JOIN ( select GEAR,count(GEAR) 
       from new_failure 
       where STN_CODE = "BVH"  
       and MONTH(fail_time) = 4 AS B
ON A.orders_id=B.orders_id

或者您可以参考此链接了解类似问题 joining two select statements

【讨论】:

此解决方案不必要地过于复杂,因为两个查询都从同一个表中选择数据并按同一字段分组。唯一的区别是要计算什么,这可以通过条件计数来完成。表上的单次传递,没有连接。

以上是关于MySql 查询结果不包含重复的主要内容,如果未能解决你的问题,请参考以下文章

MySql查询优化方法总结

如何合并两个select mysql查询的结果[重复]

请教大家!mysql查询结果,过滤重复数据?

关于MySQL去除查询结果重复值

Mysql联合查询语句语法

MySql:联合查询