【问题标题】:Get how much users have referred other users in a specific date获取在特定日期有多少用户推荐了其他用户
【发布时间】:2013-04-01 11:25:26
【问题描述】:

这个问题我已经有一段时间了!我在数据库中有“Ref”,显示哪些用户被推荐,“varvade_antal”显示我招募了多少。我想找出所有在给定日期招募超过 0 人的用户,只要我的代码是这样的:

<?php

    $sql = "SELECT * FROM users WHERE date >= '2013-03-01' AND date < '2013-04-29' + INTERVAL 1 DAY";
    $result = mysql_query($sql) or die(mysql_error());

    while($row = mysql_fetch_array($result)){


    if($row['ref'] == '0') {

    } else {

    $sd = "SELECT * FROM users WHERE id = '{$row['ref']}'";
    $df = mysql_query($sd) or die(mysql_error());

    while($dfs = mysql_fetch_array($df)){


        echo "{$dfs['firstname']}: {$dfs['varvade_antal']} st<br>"; 

   }}}
?>

现在它显示了我招募了多少个实例,但它显示了它的副本,如下所示:

Johan 招募了 6 人 Johan 已招聘 6 人 Johan 已招聘 6 人 Johan 已招聘 6 人 Johan 已招聘 6 人 Johan 已招聘 6 人

所以,当你招募了 6 个人时,它也会打印 6 次!但事实并非如此。帮帮我?

【问题讨论】:

  • > so it should also print out 6 times! 应该还是不应该?
  • 是的,Distinct 不起作用

标签: php sql refer


【解决方案1】:

将此查询与DISTINCT一起使用

$sql = "SELECT DISTINCT * FROM users WHERE date >= '2013-03-01' AND date < '2013-04-29' + INTERVAL 1 DAY";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-07
    • 2018-10-07
    • 2019-11-04
    • 1970-01-01
    • 1970-01-01
    • 2017-02-04
    • 1970-01-01
    相关资源
    最近更新 更多