2016-08-03 102 views
0

在我已经打电话给我的表“账单”类似下面MySQL中的select count使用GROUP BY和重复计数每行

Bill   item   totalprice 

BILL_1  Fossil Watch 9000 
BILL_1  Fastrack  - 
BILL_1  Fastrack  - 
BILL_2  Woodlands  7000 
BILL_2  Woodlands  - 
BILL_3  Denim Shirt 9000 
BILL_3  Levis Jean - 

现在我需要的结果,如下面的结构

Bill   item   totalprice bill_count 

BILL_1  Fossil Watch 9000   3 
BILL_1  Fastrack  -   3 
BILL_1  Fastrack  -   3 
BILL_2  Woodlands  7000   2 
BILL_2  Woodlands  -   2 
BILL_3  Denim Shirt 9000   2 
BILL_3  Levis Jean -   2 

我用下面的查询尝试,

SELECT bill,item,totalPrice,COUNT(bill) FROM bills GROUP BY bill;

但我没有得到预期的结果。

+0

请原谅downvote吗? –

回答

4
SELECT b.bill, b.item, b.totalPrice, tmp.cnt 
FROM bills b 
JOIN 
(
    select bill, COUNT(bill) as cnt 
    from bills 
    group by bill 
) tmp on tmp.bill = b.bill 
+0

感谢您的快速回复:) –

3
select bill,item,totalPrice,(SELECT 
COUNT(b1.bill) 
FROM 
bills AS b1 where b1.bill= b.bill 
GROUP BY bill) AS bill_count from bills AS b