Я группирую по базе записей по одному столбцу. Что я хочу знать, если все эти записи имеют одинаковое значение в другом столбце.
Пока я достигаю этого с помощью следующей логики, которая, на мой взгляд, слишком сложна:
select number,
if(flagSum = 0 OR flagSum = groupedrecords, "AllSame", "SomeDifferent") as AllIndicatorEqual
from
(select number,
sum(if(flag = 'Y', 1, 0)) as flagSum,
count(*) as groupedrecords
from table
where number = '1234'
group by number
)tab
Так что в основном я группируюсь по number
и проверяю, все ли сгруппированные записи имеют одинаковое значение flag
.
Есть ли более эффективный способ рассчитать это?