0

であるいくつかの列を取得する必要がありLinkIDReplyCount最も重要なものはTotalRowCountです。

これは私のコードです:

SELECT 
   TOP(10) link.LinkID, mesaj.ReplyCount
FROM 
   TBL_UserIcerikler AS link 
INNER JOIN 
   TBL_UserMesajlar AS mesaj  ON link.FromUserID = mesaj.UserID
WHERE 
   link.PublishDate >='2013-03-12 19:46:45.000' 
ORDER BY
   link.PublishDate DESC

"を追加すると、もう実行されていませんCount(*) AS a

代わりにこのメッセージが表示されます。行数を取得するにはどうすればよいですか? 誰もこのトピックに関する情報を持っていますか?

メッセージ 208、レベル 16、状態 1、行 1
無効なオブジェクト名 'TBL_UserIcerikler'

4

2 に答える 2

1

Count(*)は、集計された行数 (クエリによって返される行数ではない) を返す集計関数であるため、GROUP BYグループ化するフィールドのみを指定する必要があります (または単に COUNT(*) を返す)。

COUNT() と TOP() を混在させるのはあまり意味がありません。

例えば ​​:

SELECT link.LinkID, mesaj.ReplyCount, COUNT(*)
  FROM TBL_UserIcerikler AS link 
  INNER JOIN TBL_UserMesajlar AS mesaj ON link.FromUserID = mesaj.UserID
  WHERE link.PublishDate >='2013-03-12 19:46:45.000'
  GROUP BY link.LinkID, mesaj.ReplyCount;

あなたが望んでいるものではないことはわかっていますが、データベースから何を取得したいのかについて十分な説明がありません。

そうは言っても、式リストのコンマを忘れている可能性があると思います。

変更したクエリを投稿してみませんか。

于 2013-03-17T19:24:16.140 に答える
0

group by のこのMSDN の説明を読んでください。合計数を取得するために必要な理由がわかります。

于 2013-03-17T23:04:36.037 に答える