mysql有一张表,这张表有3个字段,分别是id、name、model_id,model_id分别有1-10,如何抽取model_id分别为1-10的数据各2条?
时间: 2024-03-27 20:35:58 浏览: 23
可以使用以下SQL语句抽取model_id分别为1-10的数据各2条:
```
(SELECT * FROM table_name WHERE model_id=1 LIMIT 2)
UNION ALL
(SELECT * FROM table_name WHERE model_id=2 LIMIT 2)
UNION ALL
(SELECT * FROM table_name WHERE model_id=3 LIMIT 2)
UNION ALL
(SELECT * FROM table_name WHERE model_id=4 LIMIT 2)
UNION ALL
(SELECT * FROM table_name WHERE model_id=5 LIMIT 2)
UNION ALL
(SELECT * FROM table_name WHERE model_id=6 LIMIT 2)
UNION ALL
(SELECT * FROM table_name WHERE model_id=7 LIMIT 2)
UNION ALL
(SELECT * FROM table_name WHERE model_id=8 LIMIT 2)
UNION ALL
(SELECT * FROM table_name WHERE model_id=9 LIMIT 2)
UNION ALL
(SELECT * FROM table_name WHERE model_id=10 LIMIT 2);
```
这里使用UNION ALL将10个查询结果合并为一个结果集。每个查询都是抽取model_id等于相应数字的2条记录。如果表中某个model_id的记录数不足2条,则返回实际记录数。