상위 3 명의 고객을 쿼리하려고합니다.상위 3 고객을위한 MySQL 쿼리
- 고객 테이블 (CustomerID를, 회사)
- 제품 테이블 (제품 일련 번호, 제품명, 가격)
- 주문 테이블 (OrderID를, 날짜, 금액, CustomerID를)
OrderID Date Amount CustomerID 19 2012-08-24 20 10043 20 2012-08-24 40 10044 21 2012-08-24 60 10044 22 2012-08-24 80 10042 23 2012-08-24 90 10043 24 2012-08-24 100 10042 25 2012-08-24 50 10041: 나는 3 개 테이블이
이 표를 참조하는 경우 :
- 10042이 ordere있다 제품의 제품의 D $ (180)의 가치가
- 10043을 주문했다 $ (110)의 가치는
- 10044 내가이 같은 정보 조회하려면 어떻게 제품
의 순서 $ (100)의 가치가 있습니다
상위 3 고객
CustomerID Company Cost of Products Ordered 10042 HP $180 10043 Acer $110 10044 Sony $100
현재이 mysql을 가지고 있지만 그것을 원하는 방식으로 표시하지 않습니다. 누군가 내 실수를 지적 할 수 있습니까? 현재
$query = "SELECT
CustomerOrder.CustomerID, CustomerOrder.Amount,
Customer.Company,
count(CustomerOrder.Amount) as total_amount
FROM
`CustomerOrder`
INNER JOIN Customer ON Customer.CustomerID = CustomerOrder.CustomerID
GROUP BY CustomerID
ORDER BY total_amount DESC LIMIT 3";
, 나는이 받고 있어요 :
Top 3 Customers
CustomerID Company Cost of Product Ordered
10042 HP 80.00
10043 Acer 20.00
10044 Sony 40.00
나는 디스플레이에이 코드를 사용하고 있습니다 :
$result = mysql_query($query);
$num=mysql_numrows($result);
echo "<table border='1'>
<tr>
<th>CustomerID</th>
<th>Company</th>
<th>Cost of Product Ordered</th>
</tr>";
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['CustomerID'] . "</td>";
echo "<td>" . $row['Company'] . "</td>";
echo "<td>" . $row['total_amount'] . "</td>";
echo "</tr>";
}
echo "</table>";
"현재 나는이 mysql을 가지고 있는데 어떻게 그것을 원하는지 표시하지 않는다." 검색어가 제공하는 것을 보여줄 수 있고 그것이 당신이 원하는 것과 어떻게 다른지 설명 할 수 있습니까? –
흠. 내게 "총"과 "카운트"그냥 똑같은 것 같지 않습니다 ... –
@ MarkByers 나는 내 질문에 점점 메신저를 업데이 트했습니다. – user1501784