Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL заявка с условие за подзаявка RAND().

Опитайте тази. Преместването на подзаявката към JOIN изглежда решава проблема. Мисля, че проблемът е свързан с подзаявката в клаузата WHERE. Мисля, че в клаузата WHERE подзаявката и функцията RAND се изпълняват за всеки запис. Вероятно това е причината резултатите да варират.

SELECT  a.AlbumID,
        Videos_Demo.VideoID,
        VideosInAlbums_Demo.AlbumID

FROM    VideosInAlbums_Demo

        LEFT JOIN Videos_Demo
        ON Videos_Demo.VideoID = VideosInAlbums_Demo.VideoID

        JOIN 
        (
            SELECT  AlbumID
            FROM    VideosInAlbums_Demo
            WHERE   VideoID = '1'
            ORDER BY RAND()
            LIMIT 1
        ) AS a ON VideosInAlbums_Demo.AlbumID = a.AlbumID



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. генерира дни от период от време

  2. как да използвате mysql_data_seek с PDO?

  3. Грешка във външния ключ на MySQL 1005 errno 150 първичен ключ като външен ключ

  4. изберете колона като true / false, ако идентификаторът съществува в друга таблица

  5. MY SQL - Код на грешка:1010. Грешка при отпадане на база данни (не може да се rmdir; errno:13)