select id, name, class from tbl_name where class = 'a' limit 5 union select id, name, class from tbl_name where class = 'b' limit 5 ... 这个语句可以生成!
Mysql :SELECT name FROM `table` WHERE class = a OR class = b order by class limit 5MSSql :SELECT top 5 name FROM `table` WHERE class = a OR class = b order by class
SELECT * FROM tbl_name as a WHERE (SELECT count(*) FROM tbl_name WHERE class = a.class AND id <a.id ) < 5 ORDER BY class,id
union
select id, name, class from tbl_name where class = 'b' limit 5
...
这个语句可以生成!
FROM `table`
WHERE class = a
OR class = b order by class limit 5MSSql :SELECT top 5 name
FROM `table`
WHERE class = a
OR class = b order by class
SELECT * FROM tbl_name as a
WHERE (SELECT count(*) FROM tbl_name WHERE class = a.class AND id <a.id ) < 5
ORDER BY class,id
4楼正解。把表内数据作为条件进行查询并把查询结果作为条件的部分。不过如果id和class不是key,或者数据量很大的时候,性能有些悬乎,毕竟这个选取方式先决就是全表扫描