私が使用しているSQLクエリは、個別の選択をカウントする際に問題があるようです。上記のクエリを使用してDISTINCTを選択してCOUNTを選択
+-------------+-----------+
| item_name | barcode |
+-------------+-----------+
| apple | 1283123 |
| apple | 1231231 |
| apple | 1231312 |
| apple | 1231312 |
| bananas | 1231312 |
| bananas | 1231312 |
+-------------+-----------+
は私に
の出力を与える:次のように私はapple
を含む4行と異なるバーコードと私のデータベースに
banana
を含む2行を持って
SELECT DISTINCT a.item_name,
(SELECT count(c.item_name) FROM stocks c
WHERE a.item_name = c.item_name) as 'count'
FROM stocks a;
:ここにクエリです
+-------------+-----------+
| item_name | barcode |
+-------------+-----------+
| apple | 5 |
| bananas | 2 |
+-------------+-----------+
クエリは常に最初の行に1カウントを追加します。私の質問に何が間違っていますか?
:http://sqlfiddle.com/#!9/f45a79/1 – BenM
PHPは、この問題に関与していない
GROUP BY
でCOUNT()
を使用すると、同じ望ましい結果を提供します – axiac