我需要获取记录数,并需要通过在返回结果中复制所有记录来显示结果。
{
"id": 1,
"count1": "5"
}
作为json响应,我目前收到上述输出。但我需要它如下。
{
"id": 1,
"count1": "5"
},
{
"id": 2,
"count1": "5"
},
{
"id": 3,
"count1": "5"
}
我的尝试查询如下。
$query = 'SELECT c.id, count(c) count1 FROM App\Entity\Car c';
我如何达到预期的结果?
答案 0 :(得分:0)
如果您有数字表,则可以执行以下操作:
SELECT c.id, n.n, count1
FROM (SELECT c.id, count(c) as count1
FROM `App\Entity\Car` c
GROUP BY c.id
) c JOIN
numbers n
ON n.n <= c.count1;
如果您不这样做,则可以在表格足够大的情况下即时生成一个:
SELECT c.id, n.n, count1
FROM (SELECT c.id, count(c) as count1
FROM `App\Entity\Car` c
GROUP BY c.id
) c JOIN
(SELECT (@rn := @rn + 1) as n
FROM numbers n CROSS JOIN
(SELECT @rn := 0) params
) n
ON n.n <= c.count1;