mySQL查询列中的合计计数(日期)
我有以下格式的数据: id|2017-09-01|2017-09-02|2017-09-03|2017-09-04|2017-09-05 --|----------|----------|----------|----------|---------- 1| 1 | 1 | 0 | 3 | 9 2| 0 | 3 | 0 | 2 | 29 3| 5 | 7 | 0 | 3 | 0 4| 4 | 1 | 0 | 6 | 5 身份证、计数、日期 我希望获得以下格式的数据: id|2017-09-01|2017-09-02|2017-09-03|2017-09-04|2017-09-05 --|----------|----------|----------|----------|---------- 1| 1 | 1 | 0 | 3 | 9 2| 0 | 3 | 0 | 2 | 29 3| 5 | 7 | 0 | 3 | 0 4| 4 | 1 | 0 | 6 | 5mySQL查询列中的合计计数(日期),mysql,pivot-table,aggregate-functions,Mysql,Pivot Table,Aggregate Functions,我有以下格式的数据: id|2017-09-01|2017-09-02|2017-09-03|2017-09-04|2017-09-05 --|----------|----------|----------|----------|---------- 1| 1 | 1 | 0 | 3 | 9 2| 0 | 3 | 0 | 2 | 29 3| 5 |
这有一个基本的技巧,取决于这个事实。在MySQL的sql方言中,datestamp='2017-09-02'等表达式的值为1或0 你怎么能应用它呢?大概是这样的:
SELECT id,
SUM(count * (datestamp = '2017-09-02')) "2017-09-02",
SUM(count * (datestamp = '2017-09-03')) "2017-09-03"
FROM tbl
GROUP BY id
现在,您将询问如何使列标题依赖于数据的内容。在MySQL中,这种旋转是一个臭名昭著的难题。“做什么”草莓建议。认真考虑应用程序代码中数据显示支点和丢失数据的问题。除此之外,这里没有足够的问题值得进一步关注。谢谢你的回答。初学者不容易,是的。我们都去过那里。