dragon201401 2019-02-04 18:13
浏览 44

根据多列中的2行值获取表的值

i have table in database like this:

 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

And want to get table like this:

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

I tried with this query:

$sql = "SELECT DISTINCT(name),date,year FROM table ORDER BY name ASC";
$query = $conn->query($sql);

Now I don't know what loop to use to get data to look like in second table.

I tried with this code

while($row = $query->fetch_assoc()) {
<td>" . $row["prezime_ime"] . "</td>
<td>" . ($row["date"]) . "</td>

Now I'm stuck here. I'm new to PHP so please can anyone help me. Thanks a lot

  • 写回答

1条回答 默认 最新

  • dongshao8471 2019-02-04 18:17
    关注

    You can do a group by

    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
    
    评论

报告相同问题?

悬赏问题

  • ¥20 测距传感器数据手册i2c
  • ¥15 RPA正常跑,cmd输入cookies跑不出来
  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法