0

我正在尝试生成每周报告,我想在其中显示一周中某一天的人数。例如,我想要上周报告,其中日期为 2020 年 2 月 17 日至 2020 年 2 月 21 日。

Unit Name    |17/02/2020   |18/02/2020  |19/02/2020  |20/02/2020  |21/02/2020
------------------------------------------------------------------------------
unit_1       |  21         |  56        | 78         | 09         | 05
unit_2       |  10         |  18        | 23         | 12         | 112
unit_3       |  15         |  65        | 06         | 00         | 74
unit_4       |  53         |  36        | 11         | 02         | 23
unit_5       |  75         |  25        | 22         | 23         | 00
unit_6       |  78         |  24        | 00         | 05         | 18

我怎样才能得到上述格式的报告。

我使用 $this->dbutil->csv_from_result 将报告导出为 excel 表。这里我有 People_table,其中每天输入数据。在报告中,我需要显示一周中个别日子的 P_id 计数。表结构如下:

auto_id |unit_id |   date      |P_id
-----------------------------------
1       |  1     | 17/02/2020  | 100     
2       |  1     | 17/02/2020  | 101    
3       |  1     | 17/02/2020  | 102 
4       |  3     | 18/02/2020  | 103    
5       |  6     | 18/02/2020  | 104    
6       |  4     | 18/02/2020  | 105
7       |  5     | 19/02/2020  | 106     
8       |  5     | 19/02/2020  | 107    
9       |  2     | 19/02/2020  | 108 
10      |  2     | 19/02/2020  | 109    
11      |  6     | 19/02/2020  | 110     
12      |  4     | 19/02/2020  | 111
4

1 回答 1

0
SELECT * FROM
(
SELECT unit_id,date
FROM table) AS ptable
PIVOT(
CONCAT(unit,'_',unit_id) FOR unit_id IN (SELECT GROUP_CONCAT(unit_id) FROM table),
date FOR date IN (SELECT GROUP_CONCAT(date) FROM table)
)
于 2020-02-25T12:43:01.757 回答