Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql在Pivot视图中显示数据_Mysql_Select_Pivot_Mysql Workbench - Fatal编程技术网

Mysql在Pivot视图中显示数据

Mysql在Pivot视图中显示数据,mysql,select,pivot,mysql-workbench,Mysql,Select,Pivot,Mysql Workbench,抱歉,伙计们,由于sqlfiddle.com遇到一些问题,无法生成小提琴 我在mysql数据库中有一个表,如下所示: Username mailtime mailid User4 3/23/2013 10:26 4473 User1 4/6/2013 16:13 10934 User4 4/6/2013 17:17 10957 User1 4/6/2013 23:56 11092 User2 4/7/2013 11:58 11187 User1 4/7

抱歉,伙计们,由于sqlfiddle.com遇到一些问题,无法生成小提琴

我在mysql数据库中有一个表,如下所示:

Username    mailtime    mailid
User4   3/23/2013 10:26 4473
User1   4/6/2013 16:13  10934
User4   4/6/2013 17:17  10957
User1   4/6/2013 23:56  11092
User2   4/7/2013 11:58  11187
User1   4/7/2013 12:06  11190
User4   4/7/2013 13:11  11216
User4   4/7/2013 13:14  11217
User1   4/7/2013 14:40  11245
User5   4/7/2013 15:52  11259
User1   4/7/2013 18:12  11303
User5   4/7/2013 19:56  11323
User1   4/7/2013 22:52  11358
User4   4/8/2013 11:13  11465
User1   4/8/2013 11:20  11475
User1   4/8/2013 11:35  11491
User4   4/8/2013 12:10  11511
User4   4/8/2013 12:38  11532
User4   4/8/2013 12:51  11540
User4   4/8/2013 13:06  11551
User1   4/8/2013 13:09  11552
User4   4/8/2013 13:15  11560
User1   4/8/2013 13:24  11572
User1   4/8/2013 14:01  11614
User4   4/8/2013 14:27  11640
User1   4/8/2013 15:41  11700
User5   4/8/2013 16:04  11730
User1   4/8/2013 17:40  11814
User4   4/9/2013 11:16  12117
User1   4/9/2013 12:41  12198
User1   4/9/2013 12:59  12209
User4   4/9/2013 13:58  12243
User4   4/9/2013 14:05  12250
User1   4/9/2013 14:15  12256
User4   4/9/2013 16:51  12351
User1   4/9/2013 17:33  12397
User1   4/9/2013 19:01  12455
User4   4/9/2013 19:15  12463
User5   4/9/2013 20:59  12517
User1   4/9/2013 21:26  12530
User1   4/9/2013 22:46  12561
User1   4/10/2013 1:01  12595
User1   4/10/2013 8:42  12631
User1   4/10/2013 10:18 12663
User1   4/10/2013 11:21 12697
User3   4/10/2013 11:27 12701
User4   4/10/2013 11:34 12705
User1   4/10/2013 15:26 12856
User4   4/10/2013 16:51 12909
User2   4/10/2013 16:53 12913
Username    < 5 days    6-Apr   7-Apr   8-Apr   9-Apr   10-Apr  Grand Total
User1                           
User2                           
User3                           
User4                           
User5                           
Grand Total                         
我需要的输出如下:

Username    mailtime    mailid
User4   3/23/2013 10:26 4473
User1   4/6/2013 16:13  10934
User4   4/6/2013 17:17  10957
User1   4/6/2013 23:56  11092
User2   4/7/2013 11:58  11187
User1   4/7/2013 12:06  11190
User4   4/7/2013 13:11  11216
User4   4/7/2013 13:14  11217
User1   4/7/2013 14:40  11245
User5   4/7/2013 15:52  11259
User1   4/7/2013 18:12  11303
User5   4/7/2013 19:56  11323
User1   4/7/2013 22:52  11358
User4   4/8/2013 11:13  11465
User1   4/8/2013 11:20  11475
User1   4/8/2013 11:35  11491
User4   4/8/2013 12:10  11511
User4   4/8/2013 12:38  11532
User4   4/8/2013 12:51  11540
User4   4/8/2013 13:06  11551
User1   4/8/2013 13:09  11552
User4   4/8/2013 13:15  11560
User1   4/8/2013 13:24  11572
User1   4/8/2013 14:01  11614
User4   4/8/2013 14:27  11640
User1   4/8/2013 15:41  11700
User5   4/8/2013 16:04  11730
User1   4/8/2013 17:40  11814
User4   4/9/2013 11:16  12117
User1   4/9/2013 12:41  12198
User1   4/9/2013 12:59  12209
User4   4/9/2013 13:58  12243
User4   4/9/2013 14:05  12250
User1   4/9/2013 14:15  12256
User4   4/9/2013 16:51  12351
User1   4/9/2013 17:33  12397
User1   4/9/2013 19:01  12455
User4   4/9/2013 19:15  12463
User5   4/9/2013 20:59  12517
User1   4/9/2013 21:26  12530
User1   4/9/2013 22:46  12561
User1   4/10/2013 1:01  12595
User1   4/10/2013 8:42  12631
User1   4/10/2013 10:18 12663
User1   4/10/2013 11:21 12697
User3   4/10/2013 11:27 12701
User4   4/10/2013 11:34 12705
User1   4/10/2013 15:26 12856
User4   4/10/2013 16:51 12909
User2   4/10/2013 16:53 12913
Username    < 5 days    6-Apr   7-Apr   8-Apr   9-Apr   10-Apr  Grand Total
User1                           
User2                           
User3                           
User4                           
User5                           
Grand Total                         
Username<5天4月6日7日4月8日4月9日4月10日总计
用户1
用户2
用户3
用户4
用户5
总计
不知道怎么做

最大邮件时间显示在最后第二列,前几列显示前几天,<5天是所有其他天的累计值

编辑::

所需的数据是mailid的计数


<5天、4月6日、4月7日、4月8日、4月9日和4月10日的列是mailtime列中的列。如果列中的最大日期为3月25日,则列中的日期应为<5天、3月20日、3月21日、3月22日、3月23日、3月24日和3月25日您对所需结果的描述并不完全清楚,但您似乎可以使用以下内容来获得结果。这将获取前5天中每个用户名的总行数(基于最长日期)以及这5天之前每个用户的总行数:

select 
  coalesce(username, 'Grand Total') username,
  max(`< 5 days`) `< 5 days`,
  sum(case when maildate = '6-Apr' then 1 else 0 end) `6-Apr`,
  sum(case when maildate = '7-Apr' then 1 else 0 end) `7-Apr`,
  sum(case when maildate = '8-Apr' then 1 else 0 end) `8-Apr`,
  sum(case when maildate = '9-Apr' then 1 else 0 end) `9-Apr`,
  sum(case when maildate = '10-Apr' then 1 else 0 end) `10-Apr`,
  count(*) GrandTotal
from
(
  select c.username,
    date_format(c.mailtime, '%e-%b') maildate,
    coalesce(o.`< 5 days`, 0) `< 5 days`
  from yt c
  left join
  (
    select username,
      count(*) `< 5 days`
    from yt
    where mailtime <= (select date_sub(max(mailtime), interval 4 DAY)
                        from yt)
  ) o
    on c.username = o.username
  where c.mailtime >= (select date_sub(max(mailtime), interval 4 DAY)
                          from yt)
) d
group by username with rollup;
看。两个查询都给出了以下结果:

|    USERNAME | < 5 DAYS | 6-APR | 7-APR | 8-APR | 9-APR | 10-APR | GRANDTOTAL |
--------------------------------------------------------------------------------
|       User1 |        0 |     1 |     4 |     7 |     7 |      5 |         24 |
|       User2 |        0 |     0 |     1 |     0 |     0 |      1 |          2 |
|       User3 |        0 |     0 |     0 |     0 |     0 |      1 |          1 |
|       User4 |        2 |     1 |     2 |     7 |     5 |      2 |         17 |
|       User5 |        0 |     0 |     2 |     1 |     1 |      0 |          4 |
| Grand Total |        2 |     2 |     9 |    15 |    13 |      9 |         48 |
|用户名|<5天| 4月6日| 4月7日| 4月8日| 4月9日| 4月10日|总计|
--------------------------------------------------------------------------------
|用户1 | 0 | 1 | 4 | 7 | 7 | 5 | 24|
|用户2 | 0 | 0 | 1 | 0 | 0 | 1 | 2|
|用户3 | 0 | 0 | 0 | 0 | 1 | 1|
|用户4 | 2 | 1 | 2 | 7 | 5 | 2 | 17|
|用户5 | 0 | 0 | 2 | 1 | 1 | 0 | 4|
|总计| 2 | 2 | 9 | 15 | 13 | 9 | 48|

如果这不是您想要的结果,那么您必须进一步解释您的需要。

您显示了您想要的数据格式,但根据您的样本数据,每列中会包含哪些数据?这不是很清楚。谢谢@bluefeet,我已经编辑了这个问题。编辑没有多大帮助,根据你的数据,你希望得到什么样的结果?在每列中,您期望的值是什么?例如,
抱歉给@bluefeet带来麻烦。我再次编辑了这篇文章!那很有魅力!谢谢@bluefeet,很抱歉这篇文章不完整!