mysql in 查詢, 里面的每個條件都指定返回條數(shù),能否實現(xiàn),怎么寫?
問題描述
mysql in 查詢, 里面的每個條件都指定返回條數(shù),能否實現(xiàn),怎么寫?
SELECT column_name(s)FROM table_nameWHERE column_name IN (value1,value2)
table_name 里面包含value1和value2的值有很多條,能否指定返回條數(shù)。
類似:
select * from table_name where column_name = value1 limit 5;select * from table_name where column_name = value2 limit 5;
或有其他方法實現(xiàn)這個查詢?
問題解答
回答1:就是or/in/union all的轉換,性能也是union all比較好,也能滿足你所說的返回指定條數(shù)。
(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)
這種寫法邏輯上是沒什么問題,但寫完之后還請看看執(zhí)行計劃,我如果記得不錯的話,mysql的in的效率并不高,如果是單張表的話,我也沒想出來什么好主意
