mysql选择count>1的distinct

mysql选择count>1的distinct,mysql,sql,Mysql,Sql,你好,我对实现这一目标的最佳方式感到困惑。我的问题如下 基本上目前我有一张属于多个媒体集团的图片。我想带回的是一个随机媒体组,如果一个媒体组只有一个与之关联的图像 例如,如果我有图像1,2,3 图1属于媒体组10、11、12 图2属于媒体组13、14、15 图像三属于媒体集团15、16、17 在这种情况下,我想带回来的是 图1-媒体组11 图2-媒体组13 图3-媒体组15 我希望图像三是15,因为15有两个与之相关的图像,所以我想把这个带回来。请你能告诉我实现这个理想结果的最佳方法吗 SELE

你好,我对实现这一目标的最佳方式感到困惑。我的问题如下

基本上目前我有一张属于多个媒体集团的图片。我想带回的是一个随机媒体组,如果一个媒体组只有一个与之关联的图像

例如,如果我有图像1,2,3

图1属于媒体组10、11、12 图2属于媒体组13、14、15 图像三属于媒体集团15、16、17

在这种情况下,我想带回来的是

图1-媒体组11 图2-媒体组13 图3-媒体组15

我希望图像三是15,因为15有两个与之相关的图像,所以我想把这个带回来。请你能告诉我实现这个理想结果的最佳方法吗

SELECT image_id, media_group_id, COUNT(*) as image_count FROM image_media_group
GROUP BY media_group_id
例如,上面的查询返回下面的查询。如果媒体组中只有一个图像,我不想为每个媒体组带回图像_id 1432 我对媒体组所有结果的较大查询如下

SELECT T.guid_id, T.id, mg.name, mg.alias_title, T.title, T.hits, al.title, T.distance, uf.real_name, uf.user_name,mg.alias_title,
COUNT(1) as image_count
FROM 
     (SELECT imx.id,imx.distance, imx.guid_id, imx.user_id, imx.hits, imx.title, imx.visible, imx.approved, imx.advertise_to
      FROM image imx  
      ORDER BY floor(RAND()*(SELECT count(1) FROM image))      
     ) AS T        
INNER JOIN image_media_group img ON T.id = img.image_id 
INNER JOIN media_group_title mg ON img.media_group_id =mg.media_group_id
INNER JOIN album_image ai ON T.id = ai.image_id
INNER JOIN album al ON ai.album_id = al.id
INNER JOIN user us ON T.user_id = us.id
LEFT JOIN user_flickr uf ON us.flickr_id = uf.id
LEFT JOIN user_site uss ON us.user_site_id= uss.id
WHERE T.visible = in_image_visible
AND T.approved = in_image_approved
AND (T.advertise_to <= in_date_time_now OR T.advertise_to IS NULL) 
GROUP BY img.media_group_id;

我试图在上面的image\u media\u group查询中获得所需的结果,因为我正在考虑将主查询中的联接更改为包含此

Having Count*>1…是的,但我想返回具有一个图像的媒体组-仅基于不同图像id的媒体组,其中图像id被误解。我以为您在问为什么Count*>1不起作用。请使用SQLFIDLE提供表结构和示例数据