0

我正在尝试以这种形式从表格中获取信息:

表格1

jobid(PK) projectid desc
1            1      whatever
2            1         .
3            1         .
4            2         .
5            2         .
.            .         .
.            .         .

我想要得到的是一个查询,每个 projectid 只会给我 5 行。( WHERE 语句的 LIMIT 但不是整个 SELECT 的限制)

如果我使用 LIMIT,我总共会得到 5 个结果。

4

1 回答 1

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。

于 2009-07-26T14:46:53.900 回答