私はこの問題で立ち往生しています。
基本的に、私は各部門について、どの日に最も多くの売上があったかを把握する方法を見つける必要があります。結果には部門番号とその日の日付が表示され、同じように売上が最も多い日が数日あった場合は、部門番号が結果に数回表示される可能性があります。
これは私がこれまでに持っているものです:
SELECT departmentNo, sDate FROM Department
HAVING MAX(sDate)
ORDER BY departmentNo, sDate;
max関数を使用して、最も発生した日付を見つけてみました。ただし、1行の値しか返しません。さらに明確にするために、売上が最も多い日付は、departmentNoという対応する列に表示する必要があります。また、部門Aの2つの日付の売上が最も多い場合、部門Aは2回表示され、両方の日付も表示されます。
注:売上が最も多い日付と部門番号のみが表示されます。
私は数週間mySQLを開始しましたが、サブクエリやストア関数などを把握するのにまだ苦労しています。しかし、私は経験から学びます。前もって感謝します。
更新しました:
私が得るべき結果:
DepartmentNo Column 1: 1 | Date Column 2: 15/08/2000
DepartmentNo Column 1: 2 | Date Column 2: 01/10/2012
DepartmentNo Column 1: 3 | Date Column 2: 01/06/1999
DepartmentNo Column 1: 4 | Date Column 2: 08/03/2002
DepartmentNo Column 1: nth | Date Column 2: nth date
これらはデータです:
INSERT INTO Department VALUES ('1','tv','2012-05-20','13:20:01','19:40:23','2');
INSERT INTO Department VALUES ('2','radio','2012-07-22','09:32:23','14:18:51','4');
INSERT INTO Department VALUES ('3','tv','2012-09-14','15:15:43','23:45:38','3');
INSERT INTO Department VALUES ('2','tv','2012-06-18','06:20:29','09:57:37','1');
INSERT INTO Department VALUES ('1','radio','2012-06-18','11:34:07','15:41:09','2');
INSERT INTO Department VALUES ('2','batteries','2012-06-18','16:20:01','23:40:23','3');
INSERT INTO Department VALUES ('2','remote','2012-06-18','13:20:41','19:40:23','4');
INSERT INTO Department VALUES ('1','computer','2012-06-18','13:20:54','19:40:23','4');
INSERT INTO Department VALUES ('2','dishwasher','2011-06-18','13:20:23','19:40:23','4');
INSERT INTO Department VALUES ('3','lawnmower','2011-06-18','13:20:57','20:40:23','4');
INSERT INTO Department VALUES ('3','lawnmower','2011-06-18','11:20:57','20:40:23','4');
INSERT INTO Department VALUES ('1','mobile','2012-05-18','13:20:31','19:40:23','4');
INSERT INTO Department VALUES ('1','mouse','2012-05-18','13:20:34','19:40:23','4');
INSERT INTO Department VALUES ('1','radio','2012-05-18','13:20:12','19:40:23','4');
INSERT INTO Department VALUES ('2','lawnmowerphones','2012-05-18','13:20:54','19:40:23','4');
INSERT INTO Department VALUES ('2','tv','2012-05-12','06:20:29','09:57:37','1');
INSERT INTO Department VALUES ('2','radio','2011-05-23','11:34:07','15:41:09','2');
INSERT INTO Department VALUES ('1','batteries','2011-05-21','16:20:01','23:40:23','3');
INSERT INTO Department VALUES ('2','remote','2011-05-01','13:20:41','19:40:23','4');
INSERT INTO Department VALUES ('3','mobile','2011-05-09','13:20:31','19:40:23','4');
部門1の場合、日付2012-05-18が最も多く発生したため、その日付が表示されます。また、すべての部門について、売上が最も多い部門のみを表示する必要があります。同じ日に同じ売上高が表示される場合は、両方が表示されます。たとえば、部門1は、両方の最大売上の日付で2回表示されます。