mysql in 查询, 里面的每个条件都指定返回条数,能否实现,怎么写?
问题描述
mysql in 查询, 里面的每个条件都指定返回条数,能否实现,怎么写?
SELECT column_name(s)FROM table_nameWHERE column_name IN (value1,value2)
table_name 里面包含value1和value2的值有很多条,能否指定返回条数。
类似:
select * from table_name where column_name = value1 limit 5;select * from table_name where column_name = value2 limit 5;
或有其他方法实现这个查询?
问题解答
回答1:就是or/in/union all的转换,性能也是union all比较好,也能满足你所说的返回指定条数。
(select * from table_name where column_name = value1 limit 5)union all(select * from table_name where column_name = value2 limit 5);回答2:
你这个sql与你的描述好像并不一致SELECT column_name(s),count(column_name(s))FROM table_nameWHERE column_name(s) IN (value1,value2,...)group by column_name(s)
这种写法逻辑上是没什么问题,但写完之后还请看看执行计划,我如果记得不错的话,mysql的in的效率并不高,如果是单张表的话,我也没想出来什么好主意