我想转换数据从Table1,因为你可以在第一张图片上看到的数据在Pivot_table。我想计算一下grade字段中有多少值。MySQL中的date类型可以做到这一点吗?我可以以某种方式使用动态命名别名吗,例如,你可以看到它降低了AS NOW()?
Table1:
PK Date Subject Grade
----------------------------------------------------
1 2013-09-11 10:37:45 History A
2 2013-09-11 10:37:45 Math B
3 2013-09-11 10:37:45 Math A
4 2013-09-11 10:37:45 Biology D
5 2013-10-11 10:37:45 History B
6 2013-10-11 10:37:45 History A
7 2013-10-11 10:37:45 Math A
8 2013-10-11 10:37:45 Geography C
9 2013-10-11 10:37:45 Geography A
10 2013-10-11 10:37:45 Geography C
Pivot_table:
Subject 11-09-2013 11-10-2013
--------------------------------------
Math 2 1
History 1 2
Biology 1
Geography 3
I tried something like this:
SELECT subject,
COUNT(CASE WHEN date = CURRENT_DATE() THEN grade END) AS NOW(),
COUNT(CASE WHEN date = DATE_ADD(NOW(), INTERVAL -1 DAY) THEN grade END) AS '11-09-2013',
COUNT(CASE WHEN date = DATE_ADD(NOW(), INTERVAL -1 MONTH) AS '11-10-2013'
FROM table1
GROUP BY subject谢谢你的帮忙
发布于 2013-10-28 19:29:24
我不认为动态别名是可能的。你可以在你的应用中生成别名。
https://stackoverflow.com/questions/18760606
复制相似问题