0

我想运行一个查询来显示给定的 poll_id 是否有一个或多个 user_id。

示例 1:poll_id 1106 的所有行只有 user_id 1。

示例 2:poll_id 1106 的所有行都有多个 user_id 1。

两个示例图像

使用下面给出的示例,此 php 代码可以工作:

$sql = "
SELECT 1 
FROM xf_poll_vote
WHERE poll_id='1106'
having count(distinct user_id) > 1";

// execute SQL query and get result 
$sql_result = mysql_query($sql,$connection); 

// format results by row 
while ($row = mysql_fetch_array($sql_result)) { 

    $user_id[] = $row["user_id"];

}

$count = count($user_id);

echo $count;
4

2 回答 2

3

我认为只是一个 COUNT / DISTINCT。

SELECT poll_id, CASE WHEN COUNT(DISTINCT user_id) > 1 THEN 'Many' ELSE 'One' END AS ManyOrOne
FROM SomeTable
GROUP BY poll_id
于 2013-05-07T15:48:45.883 回答
1
select 1
from yourTable
where poll_id = @yourPoll_id
having count(distinct user_id) > 1

如果返回任何内容,则 poll_id 有多个用户。如果没有,只有一个或零个用户

于 2013-05-07T15:49:37.323 回答