select distinct t.id,
t.name,
t.location,
t.country
from table t

假设我有一个像上面这样的查询,其中我只想要所有这些select语句的不同值,除了当country是'US'时,那么a需要与该country对应的所有值。有可能吗?可以选择所有不同的行,然后根据一个异常包含一些倍数吗?

最佳答案

也许你想试试UNION ALL

select distinct t.id,
       t.name,
       t.location,
       t.country
from table t
WHERE country <> 'US'

UNION ALL

select t.id,
       t.name,
       t.location,
       t.country
from table t
WHERE country = 'US'

关于mysql - MySQL-选择除1以外的所有不同行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34911680/

10-13 08:47