【发布时间】:2015-09-01 13:42:29
【问题描述】:
我希望您能帮助我在 while 循环中查询和显示结果。
我偶然发现了几个类似的问题,例如this one,虽然它回答了我的问题,但也有点不回答。
我有以下查询:
(SELECT dt_id, DATE_FORMAT(dt_date, '%m-%d-%Y') as dt_date,
dt_data, dt_bodypart, dt_wktype, dt_wkurl, dt_year,
COUNT(*) as Total
FROM data
WHERE dt_year = '2015'
and dt_username_member = 'admin'
GROUP BY dt_date
ORDER BY dt_date DESC
LIMIT 0,100)
ORDER BY dt_date ASC
它按日期显示行并按日期对它们进行分组,因为如果同一日期出现两次,我处理结果的数组不能在日历中显示超过 1 个结果。我还会计算每个日期的记录数。
实际上,我可以通过在 while 循环中运行查询(这是不好的做法)使其按我喜欢的方式工作,但我想避免这种情况,并以更有效和更好的方式来做
不能处理这样的结果,因为我的数组只会在日历页面上显示一个结果(最近一个添加到数据库):
array {
'08-26-2015' : 'something',
'08-26-2015' : 'something else',
'08-27-2015' : 'else',
}
目前我有这个,但如果该日期的记录数> 1,我也在 while 循环中运行查询,我想达到同样的结果,但在一段时间内不对计数 > 1 的记录运行查询循环
array {
'08-26-2015' : 'something, something else',
'08-27-2015' : 'else',
}
【问题讨论】:
-
真的需要 DISTINCT 吗? (让我感到困惑......)
-
我猜不是。我更正了查询。谢谢!