Mysql 如何在单个查询中获取计数和记录
我有一个由用户图片组成的图片表Mysql 如何在单个查询中获取计数和记录,mysql,Mysql,我有一个由用户图片组成的图片表 Table Name:picture Columns: picture_id primary key,auto increment user_id INT foreign key path VARCHAR(75) 用户id1由50个图像组成,我首先希望20个图像路径符合图片id 以及用户id的所有图像的count,即20记录和count=50 在单个查询中使用。这有点复杂,但您可以通过子查询或联接来完成 一种可能性是:
Table Name:picture
Columns: picture_id primary key,auto increment
user_id INT foreign key
path VARCHAR(75)
用户id1
由50个
图像组成,我首先希望20个
图像路径符合图片id
以及用户id的所有图像的count
,即20
记录和count
=50
在单个查询中使用。这有点复杂,但您可以通过子查询或联接来完成 一种可能性是:
select picture_id,
(select count(*) from pictures p1 where p1.user_id = pic.user_id) as num_pics
from picture pic
where pic.user_id = 1
order by picture_id
limit 20;
为什么不在处理结果集时获取所有记录并用PHP进行运行计数呢?我发布了一个答案,其中提到了
SQL\u CALC\u FOUND\u ROWS
,但它使用了两个查询,因此没有真正回答您的问题。更多信息,请查看。@RajneelJoshi如果您认为这是您问题的最佳答案,我认为您有责任将其标记为正确答案!;-)