私が前回の回答を削除したのは、最終的にwouldlangfordが探していたものではなかったからです。しかし、私は多分質問を誤解していたかもしれないと私は指摘しました。
私はまた最初はSELECT DISTINCT...
のことを考えましたが、他の人よりいくつの人がペットの数が多いか知る必要があったのは私にはあまりにも奇妙なようでした...それはなぜでしょうか?十分にはっきりしない。
実際の質問の意味が明らかになったので、このためのサブクエリを非常にオーバーヘッドにするので、GROUP BY
節を使用することをお勧めします。
は、あなたがこのようなテーブルcustomer_pets
を持って想像:
+-----------------------+
| customer | pets |
+------------+----------+
| customer1 | 2 |
| customer2 | 3 |
| customer3 | 2 |
| customer4 | 2 |
| customer5 | 3 |
| customer6 | 4 |
+------------+----------+
その後、
SELECT count(customer) AS num_customers, pets FROM customer_pets GROUP BY pets
を返します:
+----------------------------+
| num_customers | pets |
+-----------------+----------+
| 3 | 2 |
| 2 | 3 |
| 1 | 4 |
+-----------------+----------+
あなたが必要として。
私はそれ以前にゼロ運を試していました。ここに私のデータの例があります。 カスタマー|ペット 20 | 2 21 | 3 22 | 3 23 | 2 24 | 4 私はほしいと言っているリストは: 2持っていたペット 2 3ペットを持っていた 1 4ペット – willlangford
はサブクエリーをしていましたか?私はそのような単純なタスクのためにあまりにもオーバーヘッドだと思う... – maid450
私は実際に元のバージョンを探していた、このソリューションの最初の部分は私のために働いた。それを削除してくれてありがとう! –