【发布时间】:2017-03-18 21:07:53
【问题描述】:
我正在用 PHP 和 MySQL 编写一个 Web 应用程序。
我有一个名为 counts 的表,这就是数据在该表中的存储方式:
表:计数 id 计数 location_id media_id created_at -------------------------------------------------- 1 50 1 1 2017-03-15 2 30 2 1 2017-03-15 3 80 1 2 2017-03-15 4 20 1 1 2017-03-16 5 100 2 2 2017-03-16对于每个唯一的 location_id、media_id 和 created_at,我都会存储计数。
我有另一个桌子位置是这样的:
表:位置 身份证名称 ---------------- 1 地点 1 2 位置 2 3 位置 3 4 位置 4 5 位置 5这是我目前的 SQL 查询:
选择 sum(counts.count) 作为视图,locations.name 作为位置,DAYNAME(counts.created_at) AS weekday from `counts` 内部加入 `locations` on `locations`.`id` = `counts`.`location_id` where `counts`.`created_at` 在 '2016-12-04' 和 '2016-12-10' 之间按 `weekday` 分组,`counts`.`location_id`;这是数据的显示方式:
地点工作日视图 ---------------------------------- 地点 1 星期一 50 地点 1 周二 30 地点 2 星期一 20 地点 2 周二 70我正在创建报告,并且我想运行一个查询,以便一周中的所有天都显示为一列,其对应的值作为一周中那一天的查看次数。我想要这样的东西:
地点 周一 周二 周三 周四 周五 周六 周日 ------------------------------------------------- 位置 1 40 60 51 20 40 20 30 位置 2 80 60 100 24 30 10 5以上在 MySQL 中是否可行,或者我必须使用 PHP 来实现?如果是这样,我该怎么做?
任何帮助将不胜感激,谢谢。
注意:样本数据不准确。
【问题讨论】:
-
MySQL 查询可帮助您从数据库中检索数据,但它们无助于格式化数据输出。 PHP 通常用于为网络浏览器创建 HTML 输出,它可以明确地为您格式化输出。结论:您需要检索数据并格式化输出。试试看,如果你不能让它工作,请告诉我们你的代码。
-
好吧,如果这不可能,那么我显然需要格式化输出。我认为使用 MySQL 是可能的。