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

Jak porównać znacznik czasu w klauzuli gdzie?

SELECT users.username, users.id, count(tahminler.tahmin)as tahmins_no 
FROM users 
LEFT JOIN tahminler ON users.id = tahminler.user_id  
where year(timestamp) = 2013 and month(timestamp) = 9
GROUP BY users.id 
having count(tahminler.tahmin) > 0

Aby działało z indeksami, możesz zrobić

SELECT users.username, users.id, count(tahminler.tahmin)as tahmins_no 
FROM users 
LEFT JOIN tahminler ON users.id = tahminler.user_id  
where timestamp >= '2013-09-01' and timestamp < '2013-10-01'
GROUP BY users.id 
having count(tahminler.tahmin) > 0


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. INNER lub LEFT łączenie wielu rekordów tabeli w jeden wiersz

  2. Ustaw limit i przesuń nieprawidłowe umieszczenie w zapytaniu

  3. Co to jest CHAR_LENGTH() w MySQL?

  4. mysql export sql dump alfabetycznie, co powoduje błąd ograniczeń klucza obcego podczas importu

  5. Funkcja isset() zwraca wartość true, nawet jeśli pozycja nie jest ustawiona