mongodb создать индекс на поле массива с $ mark не возможно?

Я думаю, вы в основном хотите:

with t as (
      select t.*, row_number() over (order by id) as seqnum
      from t
     )
select t.place,
       max(case when t2.place = 'A' then 1 else 0 end) as A,
       max(case when t2.place = 'B' then 1 else 0 end) as B,
       max(case when t2.place = 'C' then 1 else 0 end) as C,
       max(case when t2.place = 'D' then 1 else 0 end) as D
from t join
     t t2
     on t.id = t2.id and t.seqnum <> t2.seqnum
group by t.place
order by t.place;

Это не совсем тот результат, который у вас есть в вопросе, но он, похоже, логически перекрывает перекрытия. Я не вижу, как у вас есть «A» / «A» с 1, но «C» / «C» с 0.

0
задан Saravana 18 January 2019 в 23:57
поделиться