[英]how do i eliminate a particular value when an id has more than one value in mysql
[英]How to eliminate a particular value from a mysql query when it has more than one value and leave as it is when it has only one value
我有一個mysql查詢,該查詢針對多個具有不同值的ID返回多行。 在這種情況下,我需要使用某些數據消除ID
例
ID Name Value
1 A1 AA
1 B1 AB
2 C1 CC
3 A1 AA
4 A1 AA
4 E1 AD
4 B1 AB
我需要為所有具有多個名稱的ID消除A1,否則,如果它只有一個值A1,那么我應該能夠顯示它。
結果應該看起來像
ID Name Value
1 B1 AB
2 C1 CC
3 A1 AA
4 E1 Ad ---- Any random value from the two
為我提供解決方案。
我不確定我是否完全了解規范-但這確實為該特定數據集提供了正確的結果集...
SELECT x.*
FROM my_table x
JOIN
( SELECT id,MAX(name) max_name FROM my_table GROUP BY id ) y
ON y.id = x.id
AND y.max_name = x.name;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.