2014-10-31 2 views
1

Я новичок в T-SQL и этот вопрос T-SQL Count 101.Basic T-SQL COUNT

Я изучаю T-SQL с этим сайтом http://sqlmag.com/t-sql/t-sql-101-lesson-4, но я не могу понять, какую часть кодирования говорит WHERE (column_name), чтобы выполнить «COUNT», если это имеет смысл? Другими словами, как этот COUNT знает, что считать? Он просто говорит, что COUNT все как отзывы от MovieReview таблицы .....

SELECT MovieName, 
LEFT(REPLICATE('* ',AVG(Stars)),10) 
AS 'Stars', 
COUNT(*) AS 'Reviews' 
FROM MovieReview 
GROUP BY MovieName 
HAVING COUNT(*) >= 4 
ORDER BY Stars 

Результат: Result

Название таблицы MovieReview, который содержит рейтинги, что пять сотрудников дали в кино они уже смотрел в свое свободное время. Эта таблица содержит четыре столбца: EmployeeID, Genre, MovieName и Stars. Поле «Звезды» указывает рейтинг фильма, где 1 звезда - наихудший рейтинг, а 5 - лучший рейтинг.

Я понимаю ниже кодирование, потому что указано WHERE. Граф все как «...» Из таблицы Employee где зарплата меньше, чем 3000.

SELECT COUNT(*) 
AS 'Impoverished' 
FROM Employee 
WHERE Salary < 30000 

мне нужно научиться создавать отчеты из хранилища данных. Я изучил SQL, но большинство сайтов используют T-SQL при создании отчетов, я не знаю почему.

Заранее спасибо.

ответ

1

count(*) подсчитывает количество строк , которые соответствуют, где положение, если пункт where дается, в отдельной комбинации group by столбцов, если столбец group by дано. За исключением поведения, отмеченного в предыдущем предложении, count(*) игнорирует значения в этих строках.

+0

Привет, Mureinik, спасибо за ответ! Итак, когда WHERE не задано, COUNT подсчитывает, что указано GROUP BY? Спасибо ~ – user3601310

+0

, если у вас нет предложения 'where',' count (*) 'будет указывать количество строк на каждое значение в столбце' group by'. – Mureinik

+0

Спасибо Mureinik, теперь я понял! :) – user3601310

Смежные вопросы