首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >帮助过滤MYSQL中的记录

帮助过滤MYSQL中的记录
EN

Database Administration用户
提问于 2019-12-30 23:20:36
回答 1查看 51关注 0票数 3

我希望有人能帮我。

我需要搜索来筛选出数据库中的值。这个数据库有大约14000个考拉的记录,这些考拉已经被照料了。

每一个考拉都有自己的名字,也有自己的命运。

我需要提取的koalaName为考拉,已经被重新安置,拯救,或在护理,但消除koalaName,如果它最终被发现死亡。

在输出以上的情况下,亚历克在结果中被淘汰,因为他最终死了,被安乐死或被发现死亡。对于阿莱塔和亚历克斯,我只需要知道他们的名字一次。

这是我一直试图使用的查询。

代码语言:javascript
复制
SELECT `id`, `koalaName`, `fate`
FROM main  A
    WHERE EXISTS
(
    SELECT `id`, `koalaName`, `fate`
    FROM    main  B
    WHERE   A.koalaName = B.koalaName
    AND     B.`fate` REGEXP 'Released|Relocated|Care'
)
AND NOT EXISTS 
(
    SELECT `id`, `koalaName`, `fate`
    FROM    main  B
    WHERE   A.koalaName = B.koalaName
    AND     B.`fate` REGEXP 'Died|Euth|Dead'
)

我似乎无法将结果输出为单个值,而不是返回多个值。

亚历克斯只应该出现一次。

事先谢谢你,我想这很简单,但我似乎做不到。

EN

回答 1

Database Administration用户

回答已采纳

发布于 2019-12-31 11:19:56

代码语言:javascript
复制
SELECT koalaName
FROM main  
GROUP BY koalaName
HAVING SUM( fate IN ('Released', 'Relocated', 'Care') ) > 0
   AND SUM( fate = 'Found Dead') = 0
票数 3
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/256503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档