我还有一个关于不同和/或分组依据的问题。我的表格如下:
| art | ean | obs | vke |
---------------------------------------------------
| type | 1234567890123 | 1 | 100 |
| type | 1234567890123 | 0 | 50 |
| type | 1234567890123 | 0 | 60 |
| type | 1234567890123 | 0 | 70 |
我需要查询始终选择 obs = 1 的行,并且仅选择 obs = 0 的其他行中最便宜的行。所有其他相等的 EAN 根本不应该列出。这可能吗?
所以结果应该是:
| type | 1234567890123 | 1 | 100 |
| type | 1234567890123 | 0 | 50 |
最佳答案
select art, ean, obs, vke
from table_name
where obs = 1
union all
select art, ean, obs, min(vke) as vke
from table_name
where obs = 0
group by art, ean, obs
我union
两个结果,第一个是所有带有obs
aquals 1
的行,第二个是按art分组的所有行
、ean
、obs
,其中 obs
等于 0
和 min
值vke
。
关于mysql - 使用不同和/或分组依据来过滤选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9190565/