如何在一个mysql表中按特定年份过滤特定课程?

时间:2018-04-18 04:28:37

标签: php mysql select mysqli concat

我正在一个网站上工作,要求我在一个表格中专门按年份显示特定课程。

这是我桌子上的一些细节:

表学生

stdID,stdCourseDesc,accessDate

12211,飞机维修许可证计划? EASA Part 66,2018-3-6

<122> 12212,飞机维修许可证计划? EASA Part 66,2015-8-6

12213,飞机维修技术(制造业)文凭,2017-3-1

12214,工商管理硕士(企业家),2018-1-16

<122> 12215,飞机维修许可证计划? EASA Part 66,2015-10-1

12216,飞机维修许可证计划? EASA Part 66,2016-12-10

12217,哲学博士(制造业),2016-5-14

我只管理代码直到此,但当然它只显示课程。

SELECT CONCAT(`stdCourseDesc`, ', ', `accessDate`) AS byYear FROM student WHERE `stdCourseDesc` = 'Aircraft Maintenance License Program ? EASA Part 66'

我尝试了但却失败了。

SELECT CONCAT(stdCourseDesc, ', ', accessDate) AS byYear FROM student where `stdCourseDesc` = 'Aircraft Maintenance License Program ? EASA Part 66', YEAR(`accessDate`)=2015

我将使用此代码显示输出

$conn = new mysqli ('localhost', 'root', '', 'dashboard');

$aircraftyear2015 = $conn ->query ("SELECT CONCAT(`stdCourseDesc`, ', ', 
`accessDate`) AS byYear FROM student WHERE `stdCourseDesc` = 'Aircraft 
Maintenance License Program ? EASA Part 66'");
$aircraftyear2016 = $conn ->query ("SELECT CONCAT(`stdCourseDesc`, ', ', 
`accessDate`) AS byYear FROM student WHERE `stdCourseDesc` = 'Aircraft 
Maintenance License Program ? EASA Part 66'");
$aircraftyear2017 = $conn ->query ("SELECT CONCAT(`stdCourseDesc`, ', ', 
`accessDate`) AS byYear FROM student WHERE `stdCourseDesc` = 'Aircraft 
Maintenance License Program ? EASA Part 66'");
$aircraftyear2018 = $conn ->query ("SELECT CONCAT(`stdCourseDesc`, ', ', 
`accessDate`) AS byYear FROM student WHERE `stdCourseDesc` = 'Aircraft 
Maintenance License Program ? EASA Part 66'");

$tot_aircraftyear2015 = mysqli_num_rows($aircraftyear2016);
$tot_aircraftyear2016 = mysqli_num_rows($aircraftyear2017);
$tot_aircraftyear2017 = mysqli_num_rows($aircraftyear2016);
$tot_aircraftyear2018 = mysqli_num_rows($aircraftyear2017);

<?php echo $tot_aircraftyear2015; ?>
<?php echo $tot_aircraftyear2016; ?>
<?php echo $tot_aircraftyear2017; ?>
<?php echo $tot_aircraftyear2018; ?>

我如何在一个mysql表中按特定年份过滤特定课程?

我的代码可用于显示数据吗? 提前谢谢

1 个答案:

答案 0 :(得分:1)

看起来它可能是语法问题,请尝试以下方法:

SELECT CONCAT(stdCourseDesc, ', ', accessDate) AS byYear 
FROM student 
WHERE  `stdCourseDesc` = 'Aircraft Maintenance License Program ? EASA Part 66' 
  AND YEAR(`accessDate`) = '2015'