2015-12-15 49 views
0

我想從表中匹配來自另一個表的計數的數據,但我在這方面遇到了一些麻煩。MySQL計數加入二進制字段

我的表結構是這樣的:

tbl_files:

id|hash|title|desc 

tbl_list:

id|hex_hash|user 

hex_hash是二進制

我當前的查詢看起來是這樣的,它的選擇只有一個條目,而不是整個表,因爲我正在嘗試做。

SELECT *, COUNT(*) as count 
FROM tbl_files a, tbl_list b 
WHERE BINARY HEX(`b`.`hex_hash`) = `a`.`hash` 

基本上,我想從tbl_files選擇*和兩個表中添加匹配哈希的計數這樣最終的數組:提前

id|hash|title|desc|COUNT 

希望有人能夠幫助這一點,謝謝!

回答

0

試試這個:

SELECT *, COUNT(*) as count 
FROM tbl_files a, tbl_list b 
WHERE BINARY HEX(`b`.`hex_hash`) = `a`.`hash` 
group by id 
+0

哇,這是一個愚蠢的錯誤,現在的工作,感謝alots! –

+0

我怎麼能添加另一個計數從同一張表,但與另一個條件? –

+0

@JohnKonolol使用一個case語句'sum(case when then then else 0 end)as SumOfCondition',所以當真實1將被返回並加到總和上。如果不是真的,則添加0,這不會影響總和。 – xQbert