首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >limit - mysql查询

limit - mysql查询
EN

Stack Overflow用户
提问于 2012-01-09 23:36:02
回答 3查看 201关注 0票数 3

我想知道如何通过id_offers的数量而不是行数来限制输出。例如

代码语言:javascript
复制
 SELECT  A.id_offer, T.tags  
            FROM offer A
            INNER JOIN offer_has_tags Z
            ON A.id_offer = Z.offer_id_offer

            INNER JOIN tags T
            ON Z.tags_id_tags = T.id_tags

            WHERE state = 0 
            ORDER BY date
            DESC LIMIT 0, 10

输出:

代码语言:javascript
复制
  id_offer  tags
    77       xx 
    76       xx 
    76       xx 
    75       xx 
    75       xx 
    74       xx 
    74       xx
    73       xx
    73       xx
    72       xx

编辑:在这种情况下,仅应计为6个优惠。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-01-12 06:21:04

我不确定这是否是你想要的,但我认为是:

代码语言:javascript
复制
SELECT  A.id_offer, T.tags  
FROM offer A
JOIN offer_has_tags Z
  ON A.id_offer = Z.offer_id_offer
JOIN tags T
  ON Z.tags_id_tags = T.id_tags
JOIN (
    SELECT DISTINCT id_offer
    FROM offer
    WHERE state = 0
    ORDER BY date DESC
    LIMIT 10
) L
  ON A.id_offer = L.id_offer

或者更简单的:

代码语言:javascript
复制
SELECT  A.id_offer, T.tags  
FROM 
  ( SELECT *
    FROM offer
    WHERE state = 0
    ORDER BY date DESC
    LIMIT 10
  ) A
JOIN offer_has_tags Z
  ON A.id_offer = Z.offer_id_offer
JOIN tags T
  ON Z.tags_id_tags = T.id_tags
票数 2
EN

Stack Overflow用户

发布于 2012-01-11 09:13:04

您可以尝试这样做:

代码语言:javascript
复制
SELECT  A.id_offer, T.tags  
FROM offer A
    INNER JOIN offer_has_tags Z
        ON A.id_offer = Z.offer_id_offer
    INNER JOIN tags T
        ON Z.tags_id_tags = T.id_tags

WHERE (state = 0) AND
      (A.id_offer >= 72 AND A.id_offer <= 77)
ORDER BY date
票数 0
EN

Stack Overflow用户

发布于 2012-01-12 17:09:01

您只需使用DISTINCT:

选择DISTINCT A.id_offer,T.tags

代码语言:javascript
复制
         FROM offer A             INNER JOIN offer\_has\_tags Z             ON A.id\_offer = Z.offer\_id\_offer
代码语言:javascript
复制
        INNER JOIN tags T
        ON Z.tags_id_tags = T.id_tags

        WHERE state = 0 
        ORDER BY date
        DESC LIMIT 0, 10
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8790890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档