使用使用mysql而不是mysqli/pdo的遗留代码,所以不要担心这一点,稍后我将更新查询。
尽管我的当前方法有效,但我确信有一种更干净的方法来完成这个任务,而不是一个查询和3个子查询。我主要想学习如何更好地增强我的查询,并尽量减少查询的数量。
我想做的是
echo显示日期在顶部的每个日期的所有数据我遇到的麻烦是,当我尝试减少这些子查询并使用MAX时,它只会输出每个日期的最高计数,而不是所有的数据,这就是我所需要的,包括在给定的一天中输入最多的用户/s的输出。
发布于 2015-05-03 12:48:50
你可以从这样的事情开始。请注意,我没有使用PHP,因为它在3或4年前就被废弃了.
require('path/to/mysqli/connection/stateme.nts');
$array = array();
$query = "
SELECT e.dt
, e.username
, COUNT(*) ttl
FROM entries e
GROUP
BY e.dt
, e.username
ORDER
BY e.dt, ttl DESC;
";
$result = mysqli_query($conn,$query);
while ($row = mysqli_fetch_assoc($result))
{
$array[] = $row;
}
print_r($array);https://stackoverflow.com/questions/30013446
复制相似问题