2016-02-01 67 views
-1

我想在mysql中計算不同的值。MySql中的獨特計數

select 
    bank_sample_map.sample_track_id,sample_details.sample_id,order_number, order_details.sample_detail_id 
from 
    bank_sample_map 
left join 
    sample_details on bank_sample_map.sample_track_id = sample_details.sampletrack_id 
left join 
    order_details on order_details.sample_detail_id = sample_details.sample_id 
where 
    sample_detail_id = 559662 

它返回

enter image description here

雖然具有鮮明的查詢,它返回2行

select 
    DISTINCT(bank_sample_map.sample_track_id),sample_details.sample_id,order_number, order_details.sample_detail_id 
from 
    bank_sample_map 
left join 
    sample_details on bank_sample_map.sample_track_id = sample_details.sampletrack_id 
left join 
    order_details on order_details.sample_detail_id = sample_details.sample_id 
where 
    sample_detail_id = 559662 

而且,當我試圖把數,則返回6.但我需要計數2.

+0

你是如何考慮的計數? – mikeyq6

回答

0

運行您的查詢作爲第二個例子,t母雞使用內置計數功能來查看您有多少行。

的mysqli:

if ($result = $mysqli->(" query in here")) { 
    /* determine number of rows result set */ 
    $row_cnt = $result->num_rows; 
    /* close result set */ 
    $result->close(); 
    } 

php mysqli num rows documentation

+0

你怎麼知道他在使用PHP? – mikeyq6

+0

非常好點;本來可以發誓我正在查看PHP的問題。 –

1

我發現了一個查詢,並將其返回2

select 
    count(distinct(order_number)),bank_sample_map.sample_track_id,sample_details.sample_id, order_details.sample_detail_id 
from 
    bank_sample_map 
left join 
    sample_details on bank_sample_map.sample_track_id = sample_details.sampletrack_id 
left join 
    order_details on order_details.sample_detail_id = sample_details.sample_id 
where 
    sample_detail_id = 559662