我试图从表格中获取信息:
TABLE_1
jobid(PK) projectid desc
1 1 whatever
2 1 .
3 1 .
4 2 .
5 2 .
. . .
. . .
我想要的是一个查询,每个projectid只给我5行。 (WHERE语句中的LIMIT,但整个SELECT上没有)
如果我使用LIMIT,我总共得到5个结果。
答案 0 :(得分:1)
您可以使用以下查询以动态形式构建SQL:
SELECT GROUP_CONCAT(
DISTINCT CONCAT(
'(select jobid, projectid, desc from jobs where projectid=',
projectid,
' order by jobid limit 5)')
SEPARATOR ' union ') AS q
FROM table_1;
将结果保存到变量中,然后执行保存的SQL。