php - 如何使用 union all 仅回显一个参数

标签 php mysql

我必须数据库表。我想打印两个表中的联合所有名称,如果出现多个名称,则仅打印一次并将其设为红色。 我的 PHP:

<?php
    include 'verification/verify_form_details.php';

    $result5 = getUsers();
    if (!$result5) {
        die('Invalid query: ' . mysqli_error());
    }   
    while($row5 = mysqli_fetch_array($result5))
    {  
        $username = $row5['username'] ;
        echo '<ul>';    
        echo"<li>". $username ."</li>";
        echo '</ul>';   
    }           
?>

我的查询:

function getUsers()
{
    global $con;
    $sql = "SELECT username FROM `user_project` 
            UNION ALL 
            SELECT username FROM `user`";
    return mysqli_query($con,$sql); 
}

我怎样才能实现这个目标?

最佳答案

将查询修改为按用户名分组

    $sql = "SELECT username FROM 
            (
            SELECT username FROM `user_project` 
            UNION ALL 
            SELECT username FROM `user`
            )
            GROUP BY username";

此外,如果您想获取出现次数,以便可以将多次出现的内容设为红色

$sql = "SELECT username, count(username) FROM 
                (
                SELECT username FROM `user_project` 
                UNION ALL 
                SELECT username FROM `user`
                )
                GROUP BY username";

关于php - 如何使用 union all 仅回显一个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40521777/

相关文章:

PHP:非匿名函数的 use() 替代方法

php - 优化具有大量线程的 PHP 算法?

php - 值(value)返回中的货币格式?

mysql - 哪种 MySQL 数据类型适合存储自动完成术语?

mysql - Azure 上 MySQL 的可扩展性

javascript - 提交bar时如何让窗口foo刷新

php - RESTful API 及相关资源

php - 如何根据我的网站收到的电子邮件在数据库中创建记录?

Mysql 将日期转换为星期几

php - 是否可以在 codeigniter 中仅使用一个查询来计算特定的 id 并从另一个表中减去?