在过去的 25 分钟里,我一直在搜索 Google 和 SO,以寻找如何在 MySQL 中执行以下操作。
我目前有以下查询(由 PHP 发送):
SELECT
COUNT(*),
`$db`.`crop`.`id` AS `crop`,
`$db`.`crop`.`harvest_date` AS `harvest_date`
FROM
`$db`.`crop`
WHERE
`$db`.`crop`.`harvest_date` BETWEEN $startDate AND $endDate
GROUP BY `$db`.`crop`.`harvest_date`
$startDate = 2012-01-01
$endDate = 2013-07-01
我正在尝试查找在开始日期和结束日期之间具有收获日期的所有行,然后计算同一日期的行数。但是,我似乎没有得到任何结果。查询不会失败,它只是不返回任何内容。谁能指出我正确的方向/告诉我哪里做错了?
编辑:发现问题。正如迈克尔在下面指出的那样,日期不是作为日期传递的,而是作为数字传递的。我通过在查询中的 startDate 和 endDate 之前和之后添加 ' 解决了这个问题。