【发布时间】:2015-07-22 19:54:19
【问题描述】:
我需要将数据库中的数据显示到报表文件的表格中。
my_table 看起来像:
+----+-------+------+------+-------------------+-----------+-------+----+-------------------+
| id |entryID|userID|active| dateCreated |affiliateId|premium|free| endDate |
| 1 | 69856 | 1 | N |2014-03-22 13:54:49| 1 | N | N |2014-03-22 13:54:49|
| 2 | 63254 | 2 | Y |2014-03-21 13:35:15| 2 | Y | N | |
| 3 | 56324 | 3 | N |2014-03-21 11:11:22| 2 | Y | N |2014-02-22 16:44:46|
| 4 | 41256 | 4 | Y |2014-03-21 08:10:46| 1 | N | Y | |
| .. | ... | ... | ... | ... | ... | ... | .. | ... |
+----+-------+------+------+-------------------+-----------+-------+----+-------------------+
我需要使用来自my_table 的数据创建表
| Date | № of Entries (in that date) | Total № of Entries | Premium | Free | Afiiliate |
文件中的最终表格应如下所示:
报告 17-07-2013:
+----------+--------------+-------+---------+------+-----------+
| Date | № of Entries | Total | Premium | Free | Afilliate |
|2013-07-17| 2 | 99845 | 2 | 0 | 0 |
|2013-07-18| 1 | 99843 | 0 | 1 | 0 |
|2013-07-22| 1 | 99842 | 1 | 0 | 1 |
|2013-07-23| 3 | 99841 | 2 | 1 | 2 |
|2013-07-24| 298 | 99838 | 32 | 273 | 25 |
|2013-07-25| 5526 | 99540 | 474 | 5058 | 126 |
|2013-07-26| 1686 | 94014 | 157 | 1532 | 56 |
|2013-07-27| 1673 | 92328 | 156 | 1517 | 97 |
|2013-07-28| 1461 | 90655 | 155 | 1310 | 83 |
| ... | ... | ... | ... | ... | ... |
+----------+--------------+-------+---------+------+-----------+
我应该为每一列做一个SELECT 还是我应该只做一个选择?
如果可以做1选择怎么做?
应该类比这个报告: report
某些字段不同(例如“该日期的条目数”)。
条目总数是指:从开始到特定日期的所有条目。 该日期的条目数是指:该日期的所有条目。 在最终表格中,日期列中的日期不会重复,这就是为什么“条目数(在该日期)”列将计算该日期的所有条目。
【问题讨论】:
-
您的意思是创建一个包含日期与“17-07-2013”之类的数据匹配的文件,还是要创建一个新表并将所选数据插入其中?
-
这个新表可以在文件中,也可以在网页中。但它不是 DB 中的新表。
-
假设“1 select”您的意思是
select *,它只能按照从左到右的字面数据库顺序向您显示列。对于任何其他顺序,您必须特意按您想要的顺序指定每一列。 -
我看不到其他字段,例如免费、高级等,它们在哪里?
-
我将使用我已经拥有的编写器创建的表。结果表将显示在网页上,并将发送到电子邮件。我想它将是csv格式。我在想我将创建一个带有变量的对象,例如来自 db 的表的列,然后将这些数据写入表中。但我不确定这是否是最好的方法。