Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zapytanie MySQL z warunkiem podzapytania RAND()

Spróbuj tego. Przeniesienie podzapytania do JOIN wydaje się rozwiązać problem. Myślę, że problem dotyczy podzapytania w klauzuli WHERE. Myślę, że w klauzuli WHERE wykonywane jest podzapytanie i funkcja RAND dla każdego rekordu. Prawdopodobnie dlatego wyniki są różne.

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. Czy możliwe jest wgranie pliku w tabeli bazy danych mysql przez JMeter?

  2. Przekazywanie nazwy tabeli jako parametru przygotowanego zestawienia

  3. Prosty samouczek CRUD o Play Framework i MySQL przy użyciu Ebean?

  4. Problemy z logowaniem do mysql jako non-root

  5. Uzyskaj liczbę wierszy dopasowanych przez zapytanie UPDATE za pomocą PHP mysqli