Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MYSQL查询仅从日期算起一年_Mysql - Fatal编程技术网

MYSQL查询仅从日期算起一年

MYSQL查询仅从日期算起一年,mysql,Mysql,我正在尝试更改以下查询,以便可以根据日期/时间字段按年份进行查询 SELECT DISTINCT lh.latitudedecimal AS vertreklat, lh.longitudedecimal AS vertreklong, lh2.latitudedecimal AS aankomstlat, lh2.longitudedecimal AS aankomstlong, count(*) as countroute, year('vertrekdatum2'

我正在尝试更改以下查询,以便可以根据日期/时间字段按年份进行查询

 SELECT DISTINCT lh.latitudedecimal AS vertreklat, lh.longitudedecimal AS vertreklong,      
 lh2.latitudedecimal AS aankomstlat, lh2.longitudedecimal AS aankomstlong, count(*) as    
 countroute, year('vertrekdatum2') AS jaar

 from tbl_vluchtgegevens vg

 left join tbl_luchthaven lh
 on vg.vertrekluchthaven = lh.luchthavenID

 left join tbl_luchthaven lh2
 on vg.aankomstluchthaven = lh2.luchthavenID

 WHERE year('vertrekdatum') = '$jID' 
 group by  lh.latitudedecimal, lh.longitudedecimal, lh2.latitudedecimal,   
 lh2.longitudedecimal
 HAVING COUNT(*)  = 1
我在jaar列中显示了正确的值,但是当我测试它时,它会显示0个值,应该有15个值

注意:$jID来自不同页面上php代码的值

我假设我的子句的WHERE部分的语法不正确


建议?

您的
where
子句有误

 WHERE year('vertrekdatum') = '$jID'
vertrekdatum
被视为字符串。它没有年份组件。尝试删除单引号:

 WHERE year(vertrekdatum) = $jID
仅对字符串和日期常量使用单引号。变量
$jID
应该是一个整数,因此它也不需要单引号


这同样适用于
select
子句。

假设上面发布的代码是php,那么where子句中可能有错误:

WHERE year('vertrekdatum') = "' . $jID . '"
我们应该做到这一点。 在代码中,$jID是一个字符串,而不是一个变量

如果它是一个int值

编辑我自己的答案:

WHERE year(vertrekdatum) = ' . $jID . '

由于vertrekdatum是一个字段名,而不是一个字符串,您确定不是您的
使用COUNT(*)=1
子句将它们过滤掉了吗?如果没有,您是否检查了
$jiD
的准确值?(注意空格等)。让舒尔vertrekdatum成为一个datetimefield。是的,这正是我所希望的。不断学习真是太好了。谢谢你!
WHERE year(vertrekdatum) = ' . $jID . '