2012-05-07 23 views
2

repliesという名前のテーブルがあり、topic_idという名前の列があります。私が何をしたいかSQL Serverの取得行数

はtopic_id 1

を持っているどのように多くの行を数えている私は

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

を試してみました。しかし、これは有効なクエリであれば、この場合には、私は知りません。そうであれば、どうすればPHPコードの $num_rowsという変数に戻すことができますか?

注:*は実際には私がカバーするプレフィックスです。

このような何かが動作するはず

答えて

3

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

、その後、DO $ NUM_ROWS =:

--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と呼ばれ、これは、はるかに効率的なアプローチになります$ row ['num_rows']? – Grigor

+0

これをPHPに取り戻そうとしていますか? – zimdanen

+0

@zimdanenはい私は – Grigor

関連する問題