1

我有一个 SQL 查询,虽然它正在执行,但我应该如何验证它是否给了我想要的结果。例如:我的查询

$query3 = "SELECT COUNT(DISTINCT(uid)) AS `num` 
           FROM `user_info` 
           WHERE date(starttime)='2011-10-10'";

在上面的查询中,我试图计算与user ID's(uid)名为user-infowhere dateis 2011-10-10 的表不同的数量。

我应该如何显示为给定日期计算的计数?我需要知道它并对其执行一些进一步的操作!

4

3 回答 3

1
$query3 = "SELECT COUNT(DISTINCT uid) AS `num` 
           FROM `user_info` 
           WHERE date(starttime)='2011-10-10'";


$result = mysql_query($query3);
$row = mysql_fetch_array($result);
echo $row['num'];
于 2013-10-26T07:36:53.500 回答
0

做就是了:

SELECT COUNT(DISTINCT uid) AS `num` 
FROM `user_info` 
WHERE date(starttime)='2011-10-10' 

这篇 SO 帖子详细介绍了如何countcount(distinct ...)工作。使用 just count,有一个count(all ... )实际发生的隐藏/假定功能(它只是默认值)。如果您只想计算不同的事物,请将其切换为非默认值并count(distinct ...)改为执行。在我编写 sql 的前 6 个月左右,我不知道它存在...

于 2013-10-26T07:10:03.203 回答
0

您可以设置一个变量来唱出结果...

SET @userVar=SELECT 
                COUNT(DISTINCT uid) 
              FROM 
                user_info 
              WHERE 
                DATE(starttime)='2011-10-10';

然后,您可以在下一个操作或查询中使用该变量。

于 2013-10-26T07:12:01.287 回答