Попробуйте:
Select b.ColA, b.ColB, b.ColC,-- etc.
Count(*) count
From TableB b
Join TableA a
On a.Id = b.Id
And a.TimeStamp > getDate() - 1
Group By b.ColA, b.ColB, b.ColC -- etc.
Order By Count(*) Desc
Если вы также хотите увидеть строки из Таблицы B, которые не имеют временных отметок за последние 24 часа, используйте внешнее соединение:
Select b.ColA, b.ColB, b.ColC,-- etc.
Count(*) count
From TableB b
Left Join TableA a
On a.Id = b.Id
And a.TimeStamp > getDate() - 1
Group By b.ColA, b.ColB, b.ColC -- etc.
Order By Count(*) Desc