亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

過濾mysql中的行,有可能獲得更多值

過濾mysql中的行,有可能獲得更多值

PHP
阿波羅的戰車 2022-10-28 15:07:59
我是 PHP 和 MySQL 的新手,我遇到了一些問題。例如,在這里我想顯示所有可以使用 Wordpress、Joomla 和 Typo3 的人......在這種情況下,它應該只顯示 Mustermann 夫人我試過 WHERE name='joomla' OR name='wordpress' OR name='錯字3',但它顯示了可以與這三個中的任何一個一起工作的人......對不起我的英語不好編輯OP 說明:提供示例數據并不難,無論發布圖像多么“容易”,這都不重要 nachname    vorname  email                name        id ---------   -------  -------------------  ---------- ---  Mustermann  Mrs                           joomla     148  Mustermann  Mrs                           wordpress  148  Mustermann  Mrs                           typo3      148  Mustermann  Muster   [email protected]  wordpress  158  Mustermann  Muster   [email protected]  typo3      158SELECT t.*  FROM ( SELECT 'Mustermann' AS nachname,'Mrs' AS vorname,'' AS email,'joomla' AS NAME,'148' AS id         UNION ALL SELECT 'Mustermann','Mrs','','wordpress','148'         UNION ALL SELECT 'Mustermann','Mrs','','typo3','148'         UNION ALL SELECT 'Mustermann','Muster','[email protected]','wordpress','158'         UNION ALL SELECT 'Mustermann','Muster','[email protected]','typo3','158'       ) t
查看完整描述

2 回答

?
白衣非少年

TA貢獻1155條經驗 獲得超0個贊

一個典型的解決方案用于group by聚合具有相同 的行nachname,然后使用having子句進行過濾:


select nachname

from mytable

where name in ('joomla', 'wordpress', 'typo3')

group by id, nachname

having count(distinct name) = 3

我假設這id是 的唯一標識符nachname,所以我將它添加到group by子句中;如果不是這種情況,請隨時將其刪除。


此查詢為您提供適用于列表nachname中所有三個值的 s 。in


name通過修改in列表和目標計數,很容易使查詢適應更多(或更少) s。


如果表中沒有重復(nachname, name)的重復項,可以使用count(*)而不是count(distinct ...),這樣會更有效率。


查看完整回答
反對 回復 2022-10-28
?
繁星點點滴滴

TA貢獻1803條經驗 獲得超3個贊

您可以使用下一個查詢來解決您的問題:


SELECT 

    nachname, vorname, email, 

    CONCAT(s1.name,' ', s2.name,' ', s3.name) as skills,

    user.id 

FROM user 

JOIN userskill ON user.id = userskill.userid 

-- each of joins filter by demand skillname

JOIN skill s1 ON userskill.skillid=s1.id and s1.name = 'Wordpress'

JOIN skill s2 ON userskill.skillid=s1.id and s2.name = 'Joomla'

JOIN skill s3 ON userskill.skillid=s1.id and s3.name = 'Typo3'

;


查看完整回答
反對 回復 2022-10-28
  • 2 回答
  • 0 關注
  • 99 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號