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

MYSQL wybiera najnowsze posty z tabel

Teoretycznie rzecz z identyfikatorem nadal działałaby, pod warunkiem, że identyfikator nigdy się nie zmieni...

Zalecam użycie pola znacznika czasu w strukturze tabeli o nazwie „data” i użycie „CURRENT_TIMESTAMP” jako wartości domyślnej, spowoduje to automatyczne wypełnienie daty/godziny w rekordzie po wstawieniu...

Uporządkuj według tego pola DESC, limit x

Doświadczyłem również wielu przypadków pojawiania się błędnych danych dzięki grupowaniu... Upewnij się, że Twoje dane są poprawne przed zastosowaniem ORDER BY i LIMIT

Aby uzyskać posty od użytkownika 1 do użytkownika 1, nie ma potrzeby grupowania według:

SELECT * FROM posts 
WHERE toID=fromID
ORDER BY date DESC LIMIT 3

Aby otrzymywać posty od * do użytkownika 1:

SELECT * FROM posts 
WHERE toID="USER1_ID"
ORDER BY date DESC LIMIT 3

Aby otrzymywać posty od * do użytkownika1, tylko unikalni użytkownicy:

SELECT * FROM posts 
WHERE toID="USER1_ID"
GROUP BY FromID
ORDER BY date DESC LIMIT 3

Czasami napotkasz problem polegający na tym, że rekordy GROUPED nie są uporządkowane według ORDER BY, ponieważ ORDER BY jest stosowane do wyniku PO zastosowaniu grupowania... Aby uzyskać obejście:

SELECT * FROM (
  SELECT * FROM posts 
  WHERE toID="USER1_ID"
  ORDER BY date DESC
) as `derived` GROUP BY FromID LIMIT 3

Aby uzyskać 3 ostatnich użytkowników, którzy ostatnio wysłali do siebie posta:

SELECT * FROM (
  SELECT * FROM posts 
  WHERE toID=fromID
  ORDER BY date DESC
) as `derived` GROUP BY FromID LIMIT 3


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wybierz przy zmianie wartości

  2. Jaki jest najlepszy sposób, aby uzyskać całkowitą liczbę rekordów w tabeli mysql za pomocą php?

  3. Jaki jest dobry projekt (schemat) bazy danych obecności?

  4. Zapytanie PHP nie pokazuje wszystkich wyników w tabeli html

  5. Sprawdź poprawność geometrii przestrzennej MySQL wkt