sql-запрос для получения максимальных результатов

#sql #sql-server-2008

#sql #sql-server-2008

Вопрос:

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

У меня есть таблица записей, содержащая результаты Google type, например, для определенного термина существует определенное количество записей. Мне нужен запрос, который будет выбирать термины для данного дня с количеством результатов для каждого термина в порядке убывания.

Пример таблицы

 term      dateadded    resulturl
marines   2011-05-19   http:.../
  

Комментарии:

1. недостаточно подробно, или, возможно, кто-то не ответил!

Ответ №1:

 SELECT term, COUNT(*) AS TermCount
    FROM YourTable
    WHERE dateadded = @YourDate
    GROUP BY term
    ORDER BY TermCount DESC
  

Комментарии:

1. Насколько я понимаю, в T-SQL вы не можете выполнять ЗАКАЗ ПО псевдониму, созданному в инструкции SELECT? Требуется ORDER BY COUNT(*) DESC вместо этого?

2. @Dems: Нет, псевдоним допустим в ORDER BY . Существуют другие места, такие как GROUP BY или HAVING , где его нельзя использовать.

Ответ №2:

 Select term
  , Count(*) as Result_Count
from TableName
where dateadded = @GivenDay -- don't know if time is a factor
group by term
order by result_count desc