Выбор всех соответствующих полей с помощью МАКСА и GROUP BY

Тест Постоянно

, который Вы имеете к тестам записи, и необходимо записать им СНАЧАЛА. Запись тестов изменяет способ, которым Вы пишете свой код. Это заставляет Вас думать о том, что Вы хотите, чтобы это на самом деле сделало, прежде чем Вы просто вскочите и запишете что-то, что делает все кроме того, что Вы хотите, чтобы это сделало.

Это также дает Вам цели. Наблюдение, что Ваши тесты идут зеленое, дает Вам, что мало дополнительного удара уверенности, что Вы получаете что-то выполненное.

Это также дает Вам основание для записи тестов для Ваших пограничных случаев. Так как Вы написали код против тестов для начала, у Вас, вероятно, есть некоторые рычаги в Вашем коде для тестирования с.

нет оправдания не протестировать Ваш код. Если Вы не делаете Вы просто ленивы. Я также думаю, что необходимо протестировать сначала, поскольку преимущества перевешивают дополнительное время, оно берет для кодирования этого пути.

13
задан Spooky 20 June 2015 в 18:14
поделиться

2 ответа

без единого основного ключевое поле, я думаю, ваш лучший вариант:

select * from deal_status
inner join
  (select deal_id as did, max(timestamp) as ts
  from deal_status group by deal_id) as ds
  on deal_status.deal_id = ds.did and deal_status.timestamp = ds.ts

это все равно не сработает, если вы разрешите иметь два разных статуса для одного и того же продукта одновременно

16
ответ дан 2 December 2019 в 00:03
поделиться

Привет, надеюсь, это дает то, что вы хотите

select deal_id,status_id, timestamp from deal_status 
inner join
  (select deal_id as did,max(timestamp) as ts
  from deal_status group by deal_id  )as ds
  on deal_status.deal_id = ds.did and deal_status.timestamp = ds.ts order by deal_id
0
ответ дан 2 December 2019 в 00:03
поделиться
Другие вопросы по тегам:

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