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

SQL Ảnh mới nhất từ ​​các địa chỉ liên hệ (được nhóm theo địa chỉ liên hệ)

Đôi khi, cách duy nhất để đạt được kết thúc là tạo ra một đoạn SQL quá xấu xí và tồi tệ, đến mức việc thay thế thực hiện nhiều truy vấn trở nên hấp dẫn :-)

Tôi chỉ thực hiện một truy vấn để lấy danh sách bạn bè của bạn, sau đó, đối với mỗi người bạn, lấy ba bức ảnh gần đây nhất. Một cái gì đó như:

friend_list = sqlexec "select user2_id from relations where user1_id = "
                      + current_user_id
photolist = []
for friend in friend_list:
    photolist += sqlexec "select user_id, id, date_uploaded from photos"
                 + " where user_id = "
                 + friend.get("user2_id")
                 + " order by date_uploaded desc fetch first 3 rows only"

# Now do something with photolist

Bạn không để thực hiện nó dưới dạng một truy vấn hơn là bạn bị giới hạn ở một biểu thức chính quy để đối sánh với một mẫu phức tạp. Chắc chắn sẽ rất tuyệt nếu bạn "thông minh" nhưng nó hiếm khi cần thiết. Tôi thích cách tiếp cận thực dụng hơn.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tuyên bố PDO của tôi không hoạt động

  2. JSON_CONTAINS () Ví dụ trong MySQL

  3. Cơ sở dữ liệu công thức, tìm kiếm theo thành phần

  4. Giá trị mặc định chính xác cho trường thập phân MySQL là gì?

  5. java.lang.OutofMemorySpace:Không gian đống Java trong khi tìm nạp 120 triệu hàng từ cơ sở dữ liệu trong pyspark