我有2个表,1个表名为googleimage,1个表名为googleimagefound,googleimagefound具有数千行,每行都有一个image_id列,该列对应于其对应于googleimage表(id)的图像,googleimage表中的每个图像可以具有数千行对应从googleimagefound表中获取。

我想做的是从googleimage表中选择所有图像,然后按在googleimagefound表中找到的行数对其进行排序。

例,

googleimage表有3行,其ID为1、2、3

googleimagefound表有100行,其中50行具有image_id 1,其中20行具有image_id,2,其中30行具有image_id 3

我想说

SELECT * FROM googleimage ORDER BY most rows found in googleimagefound table where id = googleimagefound.image_id


任何帮助将被申请

最佳答案

你的意思是这样的:

SELECT count(distinct f.image_id) as mostrowsfound
, i.* FROM googleimage as i
 LEFT JOIN googleimagefound as f ON i.id = f.image_id
 GROUP BY i.id
 ORDER BY mostrowsfound DESC

09-27 20:11