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

SQL Последни снимки от контакти (групирани по контакт)

Понякога единственият начин да постигнете край е да създадете парче SQL, толкова грозно и отвратително, че алтернативата за извършване на множество заявки става привлекателна :-)

Бих направил само едно запитване, за да получа списък с вашите приятели, след което за всеки приятел да получа трите най-скорошни снимки. Нещо като:

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

Вие нямате да го направите като една заявка повече, отколкото сте ограничени до един регулярен израз за съвпадение на отвратителен модел. Разбира се, би било хубаво да си "умен", но рядко се налага. Предпочитам прагматичен подход.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Laravel:получаване на една стойност от MySQL заявка

  2. Как мога да премахна подплатени NULL байтове с помощта на SELECT в MySQL

  3. Целочислено подреждане в няколко колони

  4. Размерът на таблицата влияе ли върху производителността на INSERT?

  5. копирайте структурата на базата данни без данни в mysql (с празни таблици)