我被困在這個問題上。MySQL - 特定日期最常見的?
基本上我需要找出每個部門如何找出哪些天銷售最多的日子。結果將顯示部門編號和當天的日期,如果有幾天的銷售額同樣最多,則部門編號可能會在結果中出現多次。
這是我到目前爲止有:
SELECT departmentNo, sDate FROM Department
HAVING MAX(sDate)
ORDER BY departmentNo, sDate;
我嘗試使用max函數找到其歷史發生最多。但它只返回一行值。爲了更清楚地說明,銷售額最高的日期應與名爲departmentNo的相應列一起顯示。此外,如果部門A的兩個日期具有相等的大部分銷售額,那麼部門A會出現兩次,並且兩個日期都顯示出來。
注意:只有銷售量最大的日期纔會顯示,並且部門號碼爲。
我已經開始了幾個星期的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');
對於department1因爲該日期發生2012-05-18會出現日期最。並且對於每個部門,它只應顯示銷售額最高的那個,並且如果相同的銷售日期出現在同一日期,那麼兩個部門都將出現,例如,部門1將會出現兩次,包括最高銷售日期。
關於你的餐桌。是的,一個部門表,但銷售表呢?它是否每天有1筆銷售總額,或者它像是一個「訂單」表,其中有很多銷售金額和相應的日期需要SUM()編輯?根據您對此的回答添加額外的圖層查詢...此外,顯示銷售表的樣本數據也會有所幫助。 – DRapp
請忽略銷售表。對不起,我這個構思不好的問題。假設部門1有3個日期:01/01/2001,01/01/2001和12/08/2009。我應該得到日期爲01/01/2001的結果列,因爲這發生了兩次,而2009年12月8日不會顯示,因爲這不是最常發生的日期。因此,這些列應該是:theatreNo = 1和date = 01/01/2001。另外如果發生2次的日期相同,那麼該部門將出現兩次。銷售不需要考慮日期和部門號。 –
PS:對於每個部門,我們發現它所屬的每個部門的發生最多的日期。 –