【发布时间】:2016-07-13 02:29:05
【问题描述】:
我有这张数据表,我从 MySQL 数据库中提取并尝试匹配行,但我无法弄清楚最后一部分。我正在使用 Flask 将三个使用 'izip_longest' 的字典列表传递给 Jinja 模板,然后在 Jinja 模板中使用一个 for 循环来遍历每一行的变量。问题是我正在迭代的三个列表具有可变长度,并且并不总是相同的长度。
如下所示,我已经做到了这一点,但我需要在整行中匹配日期。在这种情况下,S-Date/07-11 应该在整行中为 07-11,或者在其他列中为空白。
S-Date | S-Place | G-Date | G-Place | F-Date | F-Place
------------------------------------------------------
07-11 7 07-12 7 07-11 7
07-12 7 07-13 7
07-13 7 07-14 7
07-14 7
我觉得我快要弄明白了,但我一直盯着它看,却无法完全理解。
这是我从中提取数据的 SQL 表:
location | date | status
------------------------
001 07-10 success
002 07-10 success
123 07-11 fail
222 07-11 fail
333 07-11 fail
232 07-11 fail
444 07-12 pending
555 07-13 pending
这是获取每一天的失败次数的查询:
SELECT 'date', COUNT(`location`) as 'location' FROM mytable
WHERE YEARWEEK(`date`, 1) = YEARWEEK(CURDATE(), 1)
AND `status` LIKE '%fail%' GROUP BY DATE(`date`)
这是每天的成功次数:
SELECT `date`, COUNT(`location`) as 'location' FROM mytable
WHERE YEARWEEK(`date`, 1) = YEARWEEK(CURDATE(), 1)
AND `status` NOT LIKE '%fail%' GROUP BY DATE(`date`)
我需要将失败和成功与日期分组相匹配,这样我就可以生成堆叠条形图来显示单个日期/条形的每个数字。
【问题讨论】:
-
您到底想达到什么目的?你有什么理由不能通过查询来做到这一点?
-
@e4c5 我最终试图生成一个堆叠条形图,其中一个段表示“成功”,一个段表示“失败”。 SQL 查询的问题是有时没有成功/失败,当使用“分组依据”时,我无法获得 0 值出现。我看到的与此问题相关的每个示例都涉及执行 JOIN,但我只使用一个表。
-
为什么不发表让我们看看
-
@e4c5 我用一些附加信息编辑了我的原始帖子。
-
谢谢,但还有人认为什么是 S-Date、G-Date 等?
标签: python mysql for-loop flask jinja2