Eu tenho uma tabela mysql com a seguinte estrutura:
payment_id(int auto_increment),
emp_id(int),
chargeTime(datetime),
payment(double)
Preciso ter três chargeTime
registros mais recentes (com relação a) de todos os arquivos emp_id
. Qual deve ser a consulta?
alguém pode me ajudar por favor? Sem usar o cursor seria útil.
Tentar:
Infelizmente, o MySQL não possui as funções analíticas úteis que outras linguagens SQL possuem. Você pode simulá-los, difícil, usando alguns truques de junção externa esquerda:
Esta consulta deve fornecer os últimos três pagamentos (mais recentes) por emp_id. Se você precisar dos três primeiros, AND t1.chargeTime>=t2.chargetime seria escrito como AND t1.chargeTime<=t2.chargetime.
Você pode testá-lo aqui http://sqlfiddle.com/#!2/3c1f9/1/0 Observe que defini chargeTime como int por questão de rapidez, mas também deve funcionar com data e hora.