0

这是我的sp代码。我想从这个 sp 的结果中选择下一个不同的 6 行。我怎样才能做到这一点?

SELECT  N.NewsId,
        N.HeadCaption,
        (SELECT Name FROM NewsCategory 
         WHERE NewsCategoryId = N.HeadLineCategoryId) Category,
        N.PicUrl,
        N.Creation,
        SUBSTRING((fnStripTags(N.Description)),1,75) AS ShortDescription
FROM    News N
INNER JOIN
        (SELECT  HeadlineCategoryID, MAX(NewsID) max_id
         FROM    News           
         GROUP   BY HeadlineCategoryID) N_ 
   ON N.HeadlineCategoryID = N_.HeadlineCategoryID AND
      N.NewsID = N_.max_id
ORDER BY N.ViewIndex DESC  
LIMIT 6;  
4

3 回答 3

2

好,好,就这样

SELECT  N.NewsId,
        N.HeadCaption,
        (SELECT Name FROM NewsCategory 
         WHERE NewsCategoryId = N.HeadLineCategoryId) Category,
        N.PicUrl,
        N.Creation,
        SUBSTRING((fnStripTags(N.Description)),1,75) AS ShortDescription
FROM    News N
INNER JOIN
        (SELECT  HeadlineCategoryID, MAX(NewsID) max_id
         FROM    News           
         GROUP   BY HeadlineCategoryID) N_ 
   ON N.HeadlineCategoryID = N_.HeadlineCategoryID AND
      N.NewsID = N_.max_id
ORDER BY N.ViewIndex DESC  
LIMIT 6 limit 6; 

在代码末尾,使用“limit 6”,您可以从表/源中获取接下来的 6 行

于 2013-06-25T08:54:34.907 回答
0

尝试使用 SELECT DISTINCT 而不是 SELECT

于 2013-06-25T08:01:02.453 回答
0

使用限制功能

LIMIT 子句可用于限制 SELECT 语句返回的行数。LIMIT 接受一个或两个数字参数,它们都必须是非负整数常量,有两个参数,第一个参数指定要返回的第一行的偏移量,第二个参数指定要返回的最大行数。

于 2013-06-25T08:02:59.990 回答