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