簡體   English   中英

當一個mysql值有多個值時,如何從一個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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM