[英]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.