/ / Mysqlクエリ:サブクエリが1行以上を返すというエラー - php、mysql、mysql-error-1242

MySQLクエリ:サブクエリが1行以上を返すと言うエラー - php、mysql、mysql-error-1242

2つのテーブルから複雑なクエリを実行しようとしています...これはスキルクイズからの質問です。

**Orders                                    Customer**s
id                                         id
date                                     first_name
shipping_amount                          last_name
order_status                             city
customer_id (Customers.id)             state

出力

-----------+------------+
| State     |  # Orders  |
+-----------+------------+
| NY        |  55        |
| CA        |  40        |
| NJ        |  33        |
| FL        |  21        |
| MO        |  12        |
+-----------+------------+

私は私の質問に取り組んできました、そしてそれはこのように見えます...

select DISTINCT state, (select count(id) Orders
from customers
group by state
ORDER BY Orders DESC) FROM Customers

副問合せが1行以上を返すというエラーが発生しました

回答:

回答№1は4

これを試して:

SELECT c.state, COUNT(o.id) AS Orders
FROM Customers c, Orders o
WHERE o.customer_id = c.id
GROUP BY state
ORDER BY Orders DESC

サブクエリは必要ありません。


回答№2の場合は0
SELECT `Customers`.`state`, count(`Orders`.`id`)
as `orders FROM `Customers`
LEFT JOIN `Orders` ON `Customers`.`id` = `Orders`.`customer_id`
GROUP BY `Customers`.`state`
ORDER BY `orders` DESC

回答№3の場合は0

これを試して:

select DISTINCT state, (select count(id) as cnt, Orders from customers group by
state ORDER BY Orders DESC) Temp FROM Customers

回答№4の場合は0
SELECT c.state as State, COUNT(o.id) as NumOrders
FROM orders o
LEFT JOIN customers c ON (c.id = o.customer_id)
GROUP BY c.state