我有兩個表,一個國家前綴,另一個與調用。防止重複與MySQL的COUNT
前綴表可能是這樣的:
+------+-----------+-----------+
| id | country | prefix |
+------+-----------+-----------+
| 1 | USA | 1 |
| 2 | canada | 1 |
| 3 | spain | 4 |
+------+-----------+-----------+
電話表:
+-----------+-------------------+
| id | destination |
+-----------+-------------------+
| 1 | 1 |
| 2 | 1 |
| 3 | 4 |
| 4 | 1441 |
+-----------+-------------------+
我試着去找到多少每個國家的呼叫:
select count(*) as calls
from calls as t1
inner join prefixes as t2
on t1.destination like CONCAT('%', t2.prefix)
問題是美國和加拿大有相同的前綴,我得到了雙倍的結果,我也必須使用當前表格而不添加/編輯。
是否可以遍歷調用表,但只搜索每個前綴一次?
預期結果: 3個呼叫前綴1(美國/加拿大), 1個呼叫西班牙。
由於無法區分美國和加拿大,有了這些表格,您無法瞭解每個國家/地區的定義電話數量。那麼你期望的結果是什麼? 1.兩次美國,一次西班牙; 2.兩次加拿大,一次是西班牙;一旦美國,曾經是加拿大和曾經是西班牙; 4.還有其他什麼? – mhafellner 2014-09-02 13:18:15
謝謝,增加了預期的結果 – 2014-09-02 13:36:59