Como comparar a data-limite em que a cláusula

tenho uma tabela com a coluna timestamp que quero obter os valores em que o timestamp em determinado mês (por exemplo, onde o timpestamp entre 1 de setembro e 30 de setembro) toma em considração se o mês é 31 dia. Eu uso esta pergunta:

SELECT users.username, users.id, count(tahminler.tahmin)as tahmins_no FROM users LEFT JOIN tahminler ON users.id = tahminler.user_id  GROUP BY users.id having count(tahminler.tahmin) > 0
Posso adicionar where timestamp IN(dates_array)??

Date_array serão as datas de todo o mês??

Author: Frederic Close, 2013-09-20

3 answers

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

Para que funcione com índices você pode fazer

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
 13
Author: juergen d, 2013-09-20 14:18:26

Em caso de hora

YEAR (TIMESTAMP) = 2013 AND MONTH (TIMESTAMP) = 9

Incluir na mesma cláusula

DATE_FORMAT(TIMESTAMP,'%Y-%m')='2013-09'

Para a hora do unix

YEAR (FROM_UNIXTIME(TIMESTAMP)) = 2013 AND MONTH(FROM_UNIXTIME(TIMESTAMP))=9

Incluir na mesma cláusula

DATE_FORMAT(FROM_UNIXTIME(TIMESTAMP),'%Y-%m')='2013-09'
 4
Author: SriniV, 2013-09-20 13:32:10

Se entendi bem a sua pergunta, pode adicionar:

WHERE MONTH(timestamp)=9
 0
Author: Dan Bellandi, 2013-09-20 13:24:47