Sql查询 - 不同的操作

时间:2012-02-20 23:21:57

标签: php sql

我试着为我解决问题。 我有一个索引页面,用户输入开始和结束日期。然后页面就会出现:

和查询是:

 $dbResult = mysql_query("SELECT * FROM profilesInitPlayer where Date BETWEEN '" . $startDate . "' and '" . $endDate . "'");

然而我想要的只是显示日期而不是每个记录一次。我能做到这一点吗?还是其他任何建议?

enter image description here

2 个答案:

答案 0 :(得分:1)

您的意思是您只想要表格中的不同日期(即开始日期和结束日期之间的日期)吗?

SELECT DISTINCT `Date`
FROM profilesInitPlayer ...

答案 1 :(得分:0)

您想要显示该日期范围内的所有元组,但只打印一天一次?你不能用SQL做到这一点,因为sql语句的结果是一个2D表,你想要的结构就像一棵树。

但你可以用php做到这一点。在您的查询中只需ORDER BY Date,循环遍历元组,每次找到新日期时,都将其打印出来:

$lastDate = false;
while($tuple = mysql_fetch_assoc($result))
{
    if ($tuple["Date"] != $lastDate)
    {
         print $tuple["Date"];
         $lastDate = $tuple["Date"];
    }
    var_dump($tuple);
}

这会产生类似

的东西
2012-02-20
tuple1
tuple2
tuple3
2012-02-21
tuple4
tuple5