繁体   English   中英

从查询中排除部分重复项

[英]Exclude partial duplicates from query

我需要从我的查询(MariaDB 5.5.68)中排除部分重复项,例如:

SELECT num, returned FROM table WHERE returned = 1;

数字(可变字符) 回来
29.0 1个
27.0 1个
22.0 1个
22.1 1个
21.0 1个

在此示例中,我需要排除22.0并仅保留22.1

我试图将num行转换为 DOUBLE 并调用MAX()但我认为我需要将其作为子查询来执行,但我无法使其正常工作。

您可以使用聚合来实现这一点:

SELECT max(cast(num as decimal(4,2))), returned
FROM table
WHERE returned = 1
GROUP BY cast(num as int), returned

在 SELECT 子句中,我们将 for 转换为 decimal 以便max()将返回数字最大值而不是字典序最大值。 GROUP BY子句中,我们转换为int以将数字四舍五入为 integer 以进行正确分组。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM