My Sql merging rows

老子叫甜甜 提交于 2019-12-25 11:31:59

问题


How can I query merge rows which has same dates and get rid of null

Date       | Long | Short
2006-07-06 | t1   |
2006-07-06 |      | t2
2006-07-05 | t1   | 
2006-07-05 |      | t2
2006-07-04 | t1   |
2006-07-04 |      | t2
2006-07-03 | t1   | 
2006-07-03 |      | t2

to this

Date       | Long | Short
2006-07-06 | t1   | t2
2006-07-05 | t1   | t2
2006-07-04 | t1   | t2
2006-07-03 | t1   | t2

回答1:


SELECT `date`, MAX(`long`) `long`, MAX(short) short
FROM yourtable
GROUP BY `date`



回答2:


One approach to getting the specified resultset, is using a GROUP BY and aggregate functions:

SELECT t.Date
     , MAX(t.Long) AS `Long`
     , MAX(t.Short) AS `Short`
  FROM mytable t
 GROUP
    BY t.Date


来源:https://stackoverflow.com/questions/17618143/my-sql-merging-rows

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!