Se você deseja selecionar todas as linhas em que a parte DATE de uma coluna DATETIME corresponde a um determinado literal, você não pode fazer desta forma:
WHERE startTime = '2010-04-29'
porque o MySQL não pode comparar DATE e DATETIME diretamente. O que o MySQL faz, ele estende o literal DATE fornecido com a hora '00: 00: 00 '. Então sua condição se torna
WHERE startTime = '2010-04-29 00:00:00'
Certamente não é o que você quer!
A condição é um intervalo e, portanto, deve ser fornecida como intervalo. Existem várias possibilidades:
WHERE startTime BETWEEN '2010-04-29 00:00:00' AND '2010-04-29 23:59:59'
WHERE startTime >= '2010-04-29' AND startTime < ('2010-04-29' + INTERVAL 1 DAY)
Há uma pequena possibilidade de o primeiro estar errado - quando sua coluna DATETIME usa resolução de subsegundos e há um compromisso às 23:59:59 + epsilon. Em geral, sugiro usar a segunda variante.
Ambas as variantes podem usar um índice no startTime que se tornará importante quando a tabela crescer.