0

私は画像を使ってページング機能を実行しようとしていますが、次のように注文するとうまく機能します。

WHERE tblUploadedImages.ImageID NOT IN (
    SELECT TOP (@Exclude) ImageID FROM tblUploadedImages
    ORDER BY tblUploadedImages.Added)
    ORDER BY tblUploadedImages.Added

それはうまくいきます。ただし、画像を気に入った人の数で注文したときに画像11〜20を表示すると、一部の画像が除外されません。

ALTER PROCEDURE GetMostLikedImages
    @Exclude INT
AS
    SELECT TOP (10) 
         (SELECT COUNT(DISTINCT UserID) 
          FROM tblLike 
          WHERE tblUploadedImages.ImageID = tblLike.ImageID) AS LikeCount, 
         (SELECT COUNT(ImageID) 
          FROM tblUploadedImages) AS ImageCount,
         tblUploadedImages.ImgUrl,              
         tblUploadedImages.ImageID 
    FROM 
         tblUploadedImages
    WHERE 
         tblUploadedImages.ImageID NOT IN 
             (SELECT TOP (@Exclude) 
                 (SELECT COUNT(DISTINCT UserID) 
                  FROM tblLike 
                  WHERE tblUploadedImages.ImageID = tblLike.ImageID) AS LikeCount
              ORDER BY LikeCount DESC, tblUploadedImages.Added)
    ORDER BY 
         LikeCount DESC, tblUploadedImages.Added

LikeCount(画像が好きな人の数)で注文すれば、どうすれば機能するか知っている人がいます

4

1 に答える 1

0

私はこのガイドに従いました: http://sqlserverplanet.com/sql/pagination-using-rownumberこれで問題は解決しました。

于 2012-04-29T16:29:19.120 に答える