Последнее значение MAX для данного идентификатора

  1. Проверьте, ссылаетесь ли вы на сборку, которая, в свою очередь, ссылается на старую версию единства. Например, предположим, что у вас есть сборка под названием ServiceLocator.dll, для которой требуется старая версия сборки Unity, теперь, когда вы ссылаетесь на ServiceLocator, вы должны предоставить ей старую версию Unity, и это создает проблему.
  2. Может быть папкой вывода, в которой все проекты строят свои сборки, имеет старую версию единства.
  3. Вы можете использовать FusLogVw , чтобы узнать, кто загружается старые сборки, просто определите путь для журнала и запустите свое решение, затем проверьте (в FusLogvw) первую строку, где загружена сборка Unity, дважды щелкните ее и посмотрите на вызывающую сборку, и здесь вы идете.

0
задан Forrest 26 February 2019 в 20:08
поделиться

2 ответа

Если предположить, что более высокий идентификатор означает более свежий отчет (лучше хранить временную метку), вы можете использовать оконные функции в последних версиях sqlite, чтобы упростить задачу:

SELECT id, user_id, report_id, earned
FROM (SELECT id, user_id, report_id, earned
           , rank() OVER (PARTITION BY report_id, user_id ORDER BY earned DESC, id DESC) AS ranking
      FROM example)
WHERE ranking=1 AND report_id=3;
id          user_id     report_id   earned    
----------  ----------  ----------  ----------
10          20          3           30        
9           40          3           50        
0
ответ дан Shawn 26 February 2019 в 20:08
поделиться

Я думаю, вам нужно это:

select max(s.id) id, s.user_id, s.report_id, s.earned from (
  select user_id, report_id, max(earned) maxearned
  from submission
  group by user_id, report_id
) g inner join submission s
on s.user_id = g.user_id and s.report_id = g.report_id and s.earned = g.maxearned
group by s.user_id, s.report_id, s.earned

См. Демонстрацию
Если вы хотите запросить только для report_id = 3:

select max(s.id) id, s.user_id, s.report_id, s.earned from (
  select user_id, report_id, max(earned) maxearned
  from submission
  where report_id = 3
  group by user_id, report_id
) g inner join submission s
on s.user_id = g.user_id and s.report_id = g.report_id and s.earned = g.maxearned
group by s.user_id, s.report_id, s.earned
order by id

См. демо

0
ответ дан forpas 26 February 2019 в 20:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: