mysql - 使用mysql中的其他表获取随机图像

标签 mysql

我有两张 table

人物和图像

餐 table 上的人

+----+--------+----------+
| id | name   | lastname |
+----+--------+----------+
|  1 | Jhon   | Smith    |
|  2 | George | Mutt     |
|  3 | Peter  | Law      |
+----+--------+----------+

表格图片

+----+-----------+------------+
| id | id_people | img        |
+----+-----------+------------+
|  1 |         1 | demo04.jpg |
|  2 |         2 | test1.jpg  |
|  3 |         2 | orange.jpg |
|  4 |         2 | flow.png   |
|  5 |         3 | darth.png  |
|  6 |         3 | green.png  |
+----+-----------+------------+

我需要让所有人随机获得一张图片。

比如好结果吧。

+----------------------------+
1 | Jhon   | Smith | demo04.jpg
2 | George | Mutt  | orange.jpg
3 | Peter  | Law   | green.png
+----------------------------+

或者其他结果。

+----------------------------+
1 | Jhon   | Smith | demo04.jpg
2 | George | Mutt  | test1.jpg
3 | Peter  | Law   | darth.png
+----------------------------+



I used this sql query 

SELECT * 
FROM   `people` p 
       INNER JOIN (SELECT * 
                   FROM   images 
                   ORDER  BY Rand() 
                   LIMIT  1)i 
               ON i.id_people = p.id 
WHERE  1 

但只返回一行。

+----+--------+----------+----+-----------+------------+
| id | name   | lastname | id | id_people | img        |
+----+--------+----------+----+-----------+------------+
|  2 | George | Mutt     |  3 |         2 | orange.jpg |
+----+--------+----------+----+-----------+------------+

什么错误?

最佳答案

在这种情况下使用相关子查询而不是 join:

SELECT p.*,
       (select i.img
        from images i
        where i.id_people = p.id 
        order by rand()
        limit 1
       ) as img
FROM   `people` p ;

关于mysql - 使用mysql中的其他表获取随机图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28646257/

相关文章:

php - 获取最近 30 天的 mysql 结果

php - MySQL 组运行速度太慢

php - 设置 MySQL 数据库以用于搜索功能

mysql - 在docker中安装mysql并对外暴露mysql服务

c++ - 无法弄清楚这个错误

mysql - 更新多个值的 SQL 查询

mysql - 更改索引列上的排序规则而不更改数据

mysql - 将 MSSQL 转换为 MySQL

java - 当项目部署在 tomcat 上时 JDBC 数据源不工作

sql - Mysql:如何从其他sql脚本文件中调用sql脚本文件?