MySQL Where IN,限制输出

标签 mysql limit where-in

所以我有一个类似的查询

SELECT * FROM table WHERE id IN (1,2,3) LIMIT 10

是否可以限制数组中每个元素的输出数量

SELECT * FROM table WHERE id 1 LIMIT 10
SELECT * FROM table WHERE id 2 LIMIT 10
SELECT * FROM table WHERE id 3 LIMIT 10

最佳答案

是的,你可以使用变量来做到这一点:

SELECT *
FROM (
  SELECT *,
         @seq := IF(id = @id, @seq + 1,
                    IF(@id := id, 1, 1)) AS seq 
  FROM table 
  CROSS JOIN (SELECT @seq := 0, @id := 0) AS vars
  WHERE id IN (1,2,3) 
  ORDER BY id) AS t
WHERE t.seq <= 10

关于MySQL Where IN,限制输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37806500/

相关文章:

php - 每个用户 ID 的不同表中的字段求和

php - 如何在通过 Laravel Eloquent 方法连接的元素上使用 orderby

limit - 在图上设置自动缩放限制以在所有点周围具有缓冲

mysql - 比较同一列同一表中的值

SQL SELECT 排除具有任何值列表的行?

mysql - 选择最后插入的 id 并插入到 MY SQL 中的第二个表中

mysql - 同一张表的同类型查询执行 MySQL 的时间不同

oracle - 将 rownum 从 Oracle 转换为 Postgres

c++ - richTextBox 的字符数限制?

mysql - 在 where_in 中使用 implode 函数的 Codeigniter 查询生成器