【问题标题】:How to look at the result of a query如何查看查询结果
【发布时间】:2013-10-26 07:07:57
【问题描述】:

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

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

在上述查询中,我试图从名为 user-info 的表中计算不同 user ID's(uid) 的数量,其中 date 是 2011-10-10。

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

【问题讨论】:

  • 你现在如何显示任何值?
  • @juergend:我假设当 OP 可以使用 distinct 或 count(*) 运行查询时,但当他同时尝试两者时它停止运行。查询的其余部分似乎很好。

标签: php mysql sql


【解决方案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'];

【讨论】:

    【解决方案2】:

    只要做:

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

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

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

      • 看起来@gloomy.penguin 得到了相同的答案,如果您想获得结果,他的答案很有用,我的答案允许您在另一个查询中使用该结果。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-11
      • 1970-01-01
      • 2014-12-07
      • 1970-01-01
      相关资源
      最近更新 更多