2012-03-23 74 views
-1

有沒有一種方法可以使用COUNT()AS number_matches來統計表之間的大量匹配行?Mysql:計算多個表內兩組值之間的匹配批量?

我想包括某種循環方法,以滿足搜索算法,但在此之前,我想知道/希望有一個更簡單的方法。

TABLE_1

  • 行1:

    數字_1)1

    NUMBER_2)2

    NUMBER_3)3

    數_4)4

  • 第2列:

    數字_1)2

    NUMBER_2)4

    NUMBER_3)5

    NUMBER_4)6

比較與

TABLE_2

  • 行1:

    數字_1)2

    NUMBER_2)4

    NUMBER_3)6

    NUMBER_4)8

RESULT

  • 行1:

    number_matches)2

  • 第2列:

    number_matches)3

+0

您的示例顯示每個表內的行嗎?那些行或列? – Marco 2012-03-23 14:41:06

+0

他們是專欄,我已經更清楚地說明了這個例子。對困惑感到抱歉。 – 2012-03-23 14:55:17

+0

每個表格都有很多行,對吧? – Marco 2012-03-23 15:01:18

回答

1

鑑於你的例子,我覺得你要計算的加入記錄的金額,對不對?

select count(*) from table_1 t1 
join table_2 t2 on t1.col = t2.col 
+0

中的許多行進行測試。或者對於我們這些鄙視簡單查詢的連接語法的人:select table(t1),table_2 t2,其中t1。 col = t2.col – 2012-03-23 14:49:48

+1

@AndrewEdvalson:您使用的語法是從JOIN中的引擎轉換而來的;總的來說,在更復雜的查詢中使用JOIN而不是語法總是更好,因爲這可以避免表的笛卡爾積,從而產生巨大的查詢! – Marco 2012-03-23 14:58:40

+0

LOL,在我的答案評論中只是沒有SQL反模式參數:P – 2012-03-23 15:00:43