Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 按RAND和DESC从表内部联接表顺序中选择_Mysql - Fatal编程技术网

Mysql 按RAND和DESC从表内部联接表顺序中选择

Mysql 按RAND和DESC从表内部联接表顺序中选择,mysql,Mysql,所以情况是这样的,我使用下面的查询从数据库内部获取详细信息,将表2与order by desc连接起来,但我希望hem也是rand(),但不知道如何使用,我也尝试过使用子查询,但不起作用,或者可能是我做得不对: SELECT *,count(rating.photo_id) cphoto_id FROM rating INNER JOIN photos ON photos.id = rating.photo_id WHERE display = 1 GROUP BY rating.pho

所以情况是这样的,我使用下面的查询从数据库内部获取详细信息,将表2与order by desc连接起来,但我希望hem也是rand(),但不知道如何使用,我也尝试过使用子查询,但不起作用,或者可能是我做得不对:

SELECT *,count(rating.photo_id) cphoto_id FROM rating INNER JOIN photos    ON photos.id = rating.photo_id  WHERE display = 1 GROUP BY rating.photo_id ORDER BY cphoto_id DESC LIMIT 0,10

非常感谢您的帮助。

试试这个。可能有用

select * from (SELECT *,count(rating.photo_id) cphoto_id FROM rating INNER JOIN  photos    ON photos.id = rating.photo_id  WHERE display = 1 GROUP BY rating.photo_id ORDER BY cphoto_id DESC LIMIT 0,10) as alais order by rand();
编辑:


错误:列名“user\u id”重复,因为这两个表都包含名为:user\u idBy internal query的列。这一列在sql控制台中有效吗?选择*,计数(rating.photo_id)cphoto_id,从对照片上的内部连接照片进行评级。id=rating.photo_id,其中display=1按评级分组。photo_id按cphoto_id顺序描述限制0,10是的,此正常查询可以工作,但在尝试使用rand()时不起作用,它表示重复的用户id作为列用户id对于两个表都是相同的。
SELECT * FROM 
  (SELECT photos.*,rating.*,count(rating.photo_id) cphoto_id 
  FROM rating INNER JOIN  photos ON photos.id = rating.photo_id  
  WHERE display = 1 GROUP BY rating.photo_id 
  ORDER BY rand() DESC LIMIT 10)as alias 
ORDER BY cphoto_id;