我有表像这样的数据库:
name date year
John 1/5/15 2015
Maria 3/3/15 2015
John 7/3/16 2016
Steve 5/2/16 2016
Steve 9/7/17 2017
John 9/1/17 2017
并希望得到表所示:
Name 2015 2016 2017
John 1/5/15 7/3/16 9/1/17
Maria 3/3/15
Steve 5/2/16 9/7/17
我试图与此查询:
$sql = "SELECT DISTINCT(name),date,year FROM table ORDER BY name ASC";
$query = $conn->query($sql);
现在,我不知道有什么用循环来获取数据看起来像在第二个表。
我试着用这个代码
while($row = $query->fetch_assoc()) {
<td>" . $row["prezime_ime"] . "</td>
<td>" . ($row["date"]) . "</td>
现在我在这里停留。我是新来的PHP所以请谁能帮助我。非常感谢
你可以做一组
SELECT name,
MAX( CASE WHEN YEAR(date) = 2015
THEN date
END) as 2015,
MAX( CASE WHEN YEAR(date) = 2016
THEN date
END) as 2016,
MAX( CASE WHEN YEAR(date) = 2017
THEN date
END) as 2017
FROM yourTable
GROUP BY name