得到两个不同的LIMIT

时间:2018-04-22 06:36:08

标签: mysql sql

我看了几个例子,但我完全不明白......

我有两张桌子:从表A我想要有一个LIMIT 1和从表B我想要一个LIMIT 5

SELECT A.`id` , A.`ip_adress` , A.`message_count` , B.`user_id` , 
B.`notice_id` , B.`subject` , B.`Description`
FROM `ip_register` LIMIT 1 
AS A INNER JOIN `user_shout` AS B
ON B.`user_id` = A.`id` 
WHERE ip_adress='$ip' AND NOT message_count='0' 
LIMIT 5

此SQL代码是一个无法正常工作的示例

我希望有人知道我如何正确使用

提前致谢...

2 个答案:

答案 0 :(得分:2)

您可以使用子查询并将结果限制在那里:

SELECT A.`id`,
       A.`ip_adress`,
       A.`message_count`,
       B.`user_id`, 
       B.`notice_id`,
       B.`subject`,
       B.`Description`
       FROM (SELECT *
                    FROM `ip_register`
                    WHERE `ip_adress` = '$ip'
                          AND `message_count` <> '0'
                    LIMIT 1) A
            INNER JOIN (SELECT *
                               FROM`user_shout`
                               LIMIT 5) B
                       ON B.`user_id` = A.`id`;

答案 1 :(得分:0)

Sticky Bit,抱歉,但我的英语不是最佳的...... 我使用了你的代码,但在我的Echo中我得到了两个结果

我有2个例子站在表B中 从表A我希望只得到message_count 表B中的2个结果

   $sql = "
   SELECT A.`id`,
   A.`ip_adress`,
   A.`message_count`,
   B.`user_id`, 
   B.`notice_id`,
   B.`subject`,
   B.`Description`
   FROM (SELECT *
                FROM `ip_register`
                WHERE `ip_adress` = '$ip'
                      AND `message_count` <> '0'
               LIMIT 1  ) A
        INNER JOIN  (SELECT *
                           FROM`user_shout`
                           LIMIT 5) B
                   ON B.`user_id` = A.`id` ";

这是echo-code

 echo '  
 <div class="dropdown">
 <div class="chip">
 <b>'. $row['message_count']. '</b> New
 </div>
 <div class="dropdown-content">
  '. $row['subject']. '
 </div></div>' ;

This result I getting

这个结果我得到了 但我希望得到一个带有两个结果的按钮