2012-05-07 3 views
2

У меня есть таблица с именем replies и у нее есть столбец с именем topic_id.SQL Server получить количество строк

То, что я хочу сделать, это подсчитать, сколько строк имеют topic_id 1.

Я попытался

SELECT COUNT(*) 
FROM [***].[replies] 
WHERE [***].[topic_id] = '1' 

Но в данном случае я не знаю, если это правильный запрос. Если это так, как я могу вернуть его обратно в переменную с именем $num_rows в моем php-коде?

Примечание: * на самом деле является префиксом, который я покрыл.

ответ

3

Что-то, как это должно работать:

--declare the variable 
DECLARE @num_rows INT 

--get the total number of rows 
SELECT @num_rows = COUNT(*) FROM replies WHERE topic_id = 1 

--get a distinct count of rows (if for some reason you need it) 
SELECT @num_rows = COUNT(DISTINCT reply_id) FROM replies WHERE topic_id = 1 

--return the result set 
SELECT @num_rows AS num_rows 

Если вы просто хотите вернуть столбец num_rows, хотя, это было бы гораздо более эффективным подходом:

SELECT COUNT(*) AS num_rows FROM replies WHERE topic_id = 1 
+0

, а затем сделать $ num_rows = $ грести [ 'num_rows']? – Grigor

+0

Вы пытаетесь вернуть это обратно в php? – zimdanen

+0

@zimdanen yes Я – Grigor

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