这是我的查询……
(SELECT * FROM (SELECT tiles.,users.first_name,users.last_name,users.mosaicname,users.country,users.city,users.state,users.profile_image,COUNT(tile_appreciations.tile_id) AS appreciation_count FROM
tiles
LEFT JOINtile_appreciations
ONtile_appreciations
.tile_id
=tiles
.id
INNER JOINusers
ONusers
.id
=tiles
.user_id
LEFT JOINuser_settings
ONuser_settings
.user_id
=tiles
.user_id
WHEREtiles
.view_mode
= ‘PB’ ANDusers
.status
= ‘Y’ ANDtiles
.moved_stat
= ‘1’ ANDuser_settings
.public_profile
= ‘Y’ GROUP BYtiles
.id
ORDER BYappreciation_count
DESC LIMIT 200) as t1 ORDER BY RAND() LIMIT 9) UNION ALL (SELECT tiles.,COUNT(tile_appreciations.tile_id) AS appreciation_count FROMtiles
LEFT JOINtile_appreciations
ONtile_appreciations
.tile_id
=tiles
.id
INNER JOINusers
ONusers
.id
=tiles
.user_id
LEFT JOINuser_settings
ONuser_settings
.user_id
=tiles
.user_id
WHEREtiles
.view_mode
= ‘PB’ ANDusers
.status
= ‘Y’ ANDtiles
.moved_stat
= ‘1’ ANDuser_settings
.public_profile
= ‘Y’ GROUP BYtiles
.id
ORDER BY RAND() LIMIT 16)
解决方法
尝试这样的事情:
SELECT * FROM ( SELECT * FROM ( SELECT tiles.*,COUNT(tile_appreciations.tile_id) AS appreciation_count FROM tiles LEFT JOIN tile_appreciations ON tile_appreciations.tile_id = tiles.id INNER JOIN users ON users.id = tiles.user_id LEFT JOIN user_settings ON user_settings.user_id = tiles.user_id WHERE tiles.view_mode = 'PB' AND users.status = 'Y' AND tiles.moved_stat = '1' AND user_settings.public_profile = 'Y' GROUP BY tiles.id ORDER BY appreciation_count DESC LIMIT 200 ) as best200 ORDER BY RAND() LIMIT 9 ) UNION ( SELECT tiles.*,COUNT(tile_appreciations.tile_id) AS appreciation_count FROM tiles LEFT JOIN tile_appreciations ON tile_appreciations.tile_id = tiles.id INNER JOIN users ON users.id = tiles.user_id LEFT JOIN user_settings ON user_settings.user_id = tiles.user_id WHERE tiles.view_mode = 'PB' AND users.status = 'Y' AND tiles.moved_stat = '1' AND user_settings.public_profile = 'Y' GROUP BY tiles.id ORDER BY RAND() LIMIT 25 ) LIMIT 25;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。