2

注文数が最も多いクライアントを選択したい:

私は2つのテーブルを持っています:

CREATE TABLE customers(
customerid INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
NAME CHAR(50) NOT NULL,
address CHAR(100) NOT NULL,
city CHAR(30)NOT NULL
);


CREATE TABLE orders(
orderid INT UNSIGNED NOT NULL,
customerid INT UNSIGNED NOT NULL,
);

これは私がやろうとしていることです:

SELECT customers.customerid, customers.name,orders.orderid, COUNT(customerid) 
AS CostumerCount 
FROM customers 
INNER JOIN orders 
ON customers.customerid=orders.orderid; 

どうすればこれを作ることができますか?

4

6 に答える 6

3

どの RDBMS を使用しているかは必ずしもあなたにとって重要ではないため、MySQL を使用していて、注文数が最も多い顧客を探していると仮定します。

SELECT 
  customers.customerid, 
  customers.name,
  COUNT(orders.orderid) AS Orderscount
FROM customers 
INNER JOIN orders ON customers.customerid = orders.customerid 
GROUP BY customers.customerid, 
         customers.name
ORDER BY Orderscount DESC
LIMIT 1; 
于 2013-02-13T10:18:45.360 に答える
1

のためにSQL SERVER;

SELECT TOP (1) * FROM (
    SELECT customers.customerid, customers.name, COUNT(*) AS CostumerCount 
    FROM customers INNER JOIN orders 
               ON customers.customerid=orders.customerid
    GROUP BY customers.customerid, customers.name 
) A
ORDER BY CostumerCount DESC
于 2013-02-13T10:19:09.277 に答える
1

作成テーブルに間違った構文が含まれています

これを試して

   CREATE TABLE customers(
   customerid INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
   NAME CHAR(50) NOT NULL,
   address CHAR(100) NOT NULL,
   city CHAR(30)NOT NULL
   );


  CREATE TABLE orders(
  orderid INT UNSIGNED NOT NULL,
  customerid INT UNSIGNED NOT NULL 
  );                               ^----remove comma ',' from here

あなたのクエリはうまく機能しCOUNT(customerid)ますCOUNT(customers.customerid)

ここで試してみてください

  SELECT customers.customerid, customers.name,orders.orderid, COUNT(customers.customerid) 
   AS CostumerCount 
   FROM customers 
   INNER JOIN orders 
  ON customers.customerid=orders.orderid;
于 2013-02-13T10:23:21.967 に答える
1
SELECT customers.customerid, customers.name, 
       orders.orderid, COUNT( orders.customerid ) AS CostumerCount
FROM customers
INNER JOIN orders ON customers.customerid = orders.customerid
于 2013-02-13T10:28:17.800 に答える