MySQL忽略列多次出现的查询结果
我试图计算数据库中的行数,其中总行数为50,名称只出现一次。这是我的疑问,我确信这是可行的MySQL忽略列多次出现的查询结果,mysql,Mysql,我试图计算数据库中的行数,其中总行数为50,名称只出现一次。这是我的疑问,我确信这是可行的 SELECT name, gross FROM daysheet WHERE gross = '50' GROUP BY name HAVING Count(name) = 1 然而,这似乎并不像我想象的那样有效 GROSS NAME 50 Person 1 50 Person 2 705 Person 2 以上是该表的一个示例。我
SELECT name,
gross
FROM daysheet
WHERE gross = '50'
GROUP BY name
HAVING Count(name) = 1
然而,这似乎并不像我想象的那样有效
GROSS NAME
50 Person 1
50 Person 2
705 Person 2
以上是该表的一个示例。我希望我的查询返回1行,因为50在名称完全唯一的情况下出现1次,而上面的查询为此返回2
我也尝试过使用DISTINCT,但它总是返回2
我哪里出错了
谢谢
澄清:我试图检索总行数为50且名称在数据库中仅出现1次的行数。因此,Person 2将被忽略,因为它出现了两次,num行应该是1,因为只有一次总数为50,而名称只出现了一次
SELECT name,
gross
FROM daysheet
GROUP BY name, gross
HAVING Count(name) = 1
应该没问题这应该对你有用
SELECT name, gross FROM daysheet WHERE gross='50' and name in
(SELECT name FROM daysheet GROUP BY name HAVING count(name)=1)
试试这个
select name, gross
from daysheet d1
where gross = 50
and 1 in (select count(name)
from daysheet d2
where d2.name = d1.name)
您使用了
选择不同的名称
?如果没有,您将DISTINCT
?@AmazingDreams“从daysheet中选择DISTINCT name,gross,其中gross='50'
仍在返回2请让我澄清一下:您希望每个人只需要一条记录,或者只需要记录,其中人不会重复?换句话说,你应该得到“50人1”?@DavidJashi,其中只有一个人不是repeated@robz228还是拿不到。你能用你想要的记录更新问题吗?显然我需要了解更多!我从没想过这一点。非常感谢:D