SQL查询以使用uid获取所有唯一行

时间:2019-01-01 11:51:12

标签: sql phpmyadmin

我想使用SQL查询查看哪个用户获得了最高的评价。我的表格如下,id | uid | ip。现在,我想计算一个uid的行数,但是它必须与ip唯一。因此,没有人可以给一个人多个击掌感。

我在网上搜索,却找不到任何信息。如果有人可以帮助我,我将不胜感激。

2 个答案:

答案 0 :(得分:3)

您可以尝试以下操作

select ip, count(distinct uid) from table t
group by ip

答案 1 :(得分:0)

SELECT uid,COUNT(ip)NoOfVotes FROM
(SELECT uid,ip,Serial=ROW_NUMBER() OVER(PARTITION BY ip,uid ORDER BY uid)  FROM 
dbo.tbl_user)A
WHERE Serial=1
GROUP BY uid

我认为这将为您提供完美的投票计数。使用行号可以从相同的ip,相同的uid中主动删除重复项。此查询允许从相同的IP投票给多个uid。