Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

вземете топ 10 публикации и 10 коментара за всяка публикация sql

Нещо в този дух би свършило работа.

with a as 
(
    SELECt TOP 10  Score
    , Post.ID as PostID 
    FROM Post 
    order by Score desc 
), b as
(
    select PostID
    , ID as CommentID 
    , ROW_NUMBER() over (partition by PostID order by ID) as RowNum
    from PostComment
) 
select * 
from a
left join b
on b.PostID = a.PostID
where b.RowNum <= 10


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Оптимизиран SQL за дървовидни структури

  2. SQL Server:предотвратяване на мръсни четения в съхранена процедура

  3. Как да изброя всички колони на дадена sql заявка

  4. заявка, която ще дублира записи въз основа на количество

  5. Временна таблица на SQL Server срещу променлива на таблица