[英]mySQL - select unique values in two columns
我真的無法通過sql找到一個簡單甚至任何解決方案來從DB(mySQL)獲取唯一數據。
我將給出一個樣本(簡化):
表t
fruit | color | weight
-----------------------
apple | red | 34
kiwi | red | 23
banana | yellow | 100
kiwi | black | 3567
apple | yellow | 23
banana | green | 2345
pear | green | 1900
現在我想要輸出 - 類似於不同(蘋果)和不同(顏色)的東西和按重量排序desc:
kiwi | black | 3567
banana | green | 2345
apple | red | 34
因此,我不僅需要按水果分組,還需要顏色(所有獨特的)。
任何建議或解決方案? 謝謝!
我不清楚為什么香蕉|綠色更喜歡香蕉|黃色(改變RIGHT JOIN
到INNER JOIN
以獲得更美味的水果)所以我希望我已經明白你要做的是:
SELECT t1.fruit, t1.color, t1.weight
FROM
t AS t1
RIGHT JOIN
(
SELECT fruit, color, weight
FROM t
GROUP BY
color
) AS t2
ON
t1.fruit = t2.fruit AND t1.color = t2.color
GROUP BY fruit
ORDER BY weight DESC;
另請注意MySQL如何處理GROUP BY中的隱藏列 。
SELECT fruit, color, weight
FROM t
GROUP BY fruit, color
HAVING COUNT(*) = 1
ORDER BY weight DESC
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.