Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Truy vấn con MySQL với biến dữ liệu truy vấn chính

Tại sao không bắt đầu với một truy vấn trước của người dùng và tất cả đồ uống mà họ đã đưa ra nhận xét và tính đến thời điểm nào (không biết liệu bạn có nhiều nhận xét trên mỗi người cho bất kỳ đồ uống nhất định nào hay không). Sau đó, tìm nhận xét từ tất cả những người khác SAU nhận xét như vậy về ngày / giờ của bạn ...

Truy vấn này thực sự sẽ nhanh hơn vì nó đang BẮT ĐẦU với chỉ MỘT NGƯỜI SỬ DỤNG nhận xét về đồ uống làm cơ sở, SAU ĐÓ quay trở lại bảng nhận xét cho những nhận xét phù hợp với ID đồ uống và thời gian dừng.

SELECT STRAIGHT_JOIN
      dc.*
   from 
       ( select
               drinkID,
               max( datetime ) UserID_DrinkCommentTime
            FROM 
               drinkComments 
            WHERE
               userID = 1
            group by
               drinkID ) PreQuery
       join DrinkComments dc
         on PreQuery.DrinkID = dc.DrinkID
         and dc.datetime > PreQuery.UserID_DrinkCommentTime
   order by
      dc.DateTime desc


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Con trỏ MySql - Tạo một thủ tục

  2. MySQL tăng giá trị hàng loạt?

  3. Cú pháp CƠ SỞ DỮ LIỆU SQL DROP - Được DBMS liệt kê

  4. SQLAlchemy sử dụng kiểu cột nào cho Văn bản trên MySQL?

  5. Làm cách nào để Tính Diện tích Đa giác trong Cơ sở dữ liệu MySQL Khi các Điểm của Đa giác là Độ dài Vĩ độ?