Mysql
幫助過濾掉MYSQL中的記錄
我希望有人能幫助我。
我需要搜尋以過濾出數據庫中的值。該數據庫有大約 14 000 條考拉記錄。
每隻考拉都有自己的名字,命運也隨之而來。
我需要為已重新安置、獲救或照顧的考拉提取 koalaName,但如果它最終被發現死亡,則刪除 koalaName。
在上述輸出的情況下,Alec 在結果中被淘汰,因為他最終死亡、安樂死或被發現死亡。在 Aleta 和 Alex 的情況下,我只需要知道他們的名字一次。
這是我一直在嘗試使用的查詢。
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' )
我似乎無法獲得將 koalaName 輸出為單個值而不是返回多個值的結果
例如,Alex 應該只出現一次。
非常感謝,我認為它很簡單,但我似乎無法做到。
SELECT koalaName FROM main GROUP BY koalaName HAVING SUM( fate IN ('Released', 'Relocated', 'Care') ) > 0 AND SUM( fate = 'Found Dead') = 0