SQL - ВЫБЕРИТЕ МАКСА () и сопроводительное поле

измените аннотацию вашего DAO с помощью @Repository

@Repository
public class ProfileDao { 
.
.
.
}

, а затем сделайте свой метод обслуживания @Transactional, например, следующим образом

@Transactional
public List<Retailer> getRetailerByRetailerNumber(String retailerNo) {}
6
задан Nippysaurus 18 June 2009 в 23:19
поделиться

4 ответа

использовать Perl / Tk

читается и (теоретически) хорошо оптимизируется механизмом SQL Server.

Правка: эта статья - хороший учебник по ранжированию, но в примерах используется RANK вместо ROW_NUMBER (или другая функция ранжирования, DENSE_RANK ) - различие имеет значение, когда есть «связи» между сгруппированными строками в одном разделе в соответствии с критериями упорядочения. этот пост хорошо объясняет разницу.

среди сгруппированных строк в одном разделе в соответствии с критериями упорядочения. этот пост хорошо объясняет разницу.

среди сгруппированных строк в одном разделе в соответствии с критериями упорядочения. этот пост хорошо объясняет разницу.

9
ответ дан 8 December 2019 в 17:26
поделиться
select distinct * from table t1
where EmailAddress = 
(select max(EmailAddress) from table t2
where t1.userId = t2.userId)
5
ответ дан 8 December 2019 в 17:26
поделиться
select distinct
     *  
from    
   SomeTable a
inner join (
  select max(emailAddress), userId
  from
     SomeTable 
  group by 
     userId
) b on a.emailAddress = b.emailAddress and a.userId = b.userId
0
ответ дан 8 December 2019 в 17:26
поделиться

Думаю, у меня есть решение, отличное от уже предложенных:

select *
from foo
where id = (
  select id
  from foo F
  where F.bar = foo.bar
  order by F.baz
  limit 1
)

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

0
ответ дан 8 December 2019 в 17:26
поделиться
Другие вопросы по тегам:

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