我在MySQL數據庫中有一張表,其中包含人們'pid'的ID以及這些人居住的城市名稱city
。由於每個人在他/她的生活期間可能住在不止一個城市,因此一個人可以擁有該表中不止一個條目。如何在MySQL數據庫中查找滿足多個條件的條目的ID?
PID | CITY
1 | Berlin
1 | New York
2 | Berlin
2 | Oslo
2 | New York
2 | Mexiko City
3 | Oslo
4 | Berlin
4 | Oslo
4 | Bagdad
4 | New York
4 | Mexiko City
有兩/三件事情,我想了解一下:
- 什麼是所有這些人的
pid
,那住在「柏林」,並在「紐約」 (結果應該是[1,2,4]) - 人們居住的其他城市是什麼,曾經住在「柏林」和「紐約」 (結果應該是[「奧斯陸」,「墨西哥城「,」巴格達「])
- 這將是更好的獲得數量,這些城市多久出現在表格中。 (結果應該是[ 「奧斯陸」 - > 2, 「Mexiko城」 - > 2, 「巴格達」 - > 1])
如何我要設計我的查詢,找出這些東西(而不是過度壓力我的數據庫服務器)?
http://www.sqlfiddle.com/#!3/645ea – mellamokb
看到這個問題(有超過10種不同的方式來實現你想要的):[如何過濾SQL結果中的多對一關係](http://stackoverflow.com/questions/7364969/how-to-filter-sql-results-in-一對多關係)和基準。 –
你在數據中有3次「奧斯陸」。奧斯陸的數量應該是3,而不是2。 –