2012-05-03 3 views
1

私は現在、このクエリがあります。MySQLのクエリの選択のヘルプは、クエリが登場した回数をカウントする方法

SELECT s_id FROM orderline,order_t WHERE orderline.o_id=order_t.o_id AND c_name='John Smith'; 

をし、それがこの返します

+------+ 
| s_id | 
+------+ 
| 12 | 
+------+ 
| 11 | 
+------+ 
| 10 | 
+------+ 
| 10 | 
+------+ 

が、私は、出力が2を持ちたいです右の列は、クエリに左の列が表示された回数をカウントするために使用しています。

+------+-------+ 
| s_id | count | 
+------+-------+ 
| 12 | 1 | 
+------+-------+ 
| 11 | 1 | 
+------+-------+ 
| 10 | 2 | 
+------+-------+ 

それは可能ですか?

私はこのクエリを試してみましたが、それはS_IDの行数をカウントして、それは明らかに間違っているのです。

SELECT s_id,count(*) FROM orderline,order_t WHERE orderline.o_id=order_t.o_id AND c_name='John Smith'; 

答えて

1

あなたはあなたが使用する必要がS_ID

+0

大変ありがとうございました! – user1355122

1

でから...グループ(*)カウント、S_IDを選択し、独自の行に

をそれぞれ "S_ID" を持つように、GROUP BY句を忘れてしまいましたグループ:

SELECT s_id, count(*) AS `count` 
FROM orderline,order_t 
WHERE orderline.o_id=order_t.o_id AND c_name='John Smith' 
GROUP BY s_id;