1 回答

TA貢獻1884條經驗 獲得超4個贊
你可以做這樣的事情
但是對于您擁有的每一列,請決定如何處理它。像MIN(n2.nextgenorder_company_entity),但如果你想保留所有你可以使用GROUP_CONCAT例如
CREATE TABLE nextgenorders2
(`nextgenorder_companyname` varchar(9), `nextgenorder_company_entity` int, `nextgenorder_ordernumber` int, nextgenorder_deliverydate date)
;
INSERT INTO nextgenorders2
(`nextgenorder_companyname`, `nextgenorder_company_entity`, `nextgenorder_ordernumber`,nextgenorder_deliverydate)
VALUES
('Apple', 123, 555123,'2020-11-11'),
('Apple', 123, 555123,'2020-11-11'),
('Telsa', 888, 444444,'2020-11-11'),
('Telsa', 777, 222222,'2020-11-11'),
('Apple NYC', 103, 544523,'2020-11-11'),
('Stack', 222, 511523,'2020-11-11'),
('Stack', 222, 144523,'2020-11-11')
;
?
?
SELECT
GROUP_CONCAT(n2.nextgenorder_ordernumber),
#n2.nextgenorder_serial,
MIN(n2.nextgenorder_company_entity),
n2.nextgenorder_companyname,
n2.nextgenorder_deliverydate
FROM
(SELECT REPLACE(`nextgenorder_companyname`,'Apple NYC','Apple') `nextgenorder_companyname`
, `nextgenorder_company_entity`, `nextgenorder_ordernumber`,nextgenorder_deliverydate
FROM nextgenorders2) n2
WHERE n2.nextgenorder_deliverydate='2020-11-11'
GROUP BY n2.nextgenorder_companyname
,n2.nextgenorder_deliverydate
#,n2.nextgenorder_ordernumber
GROUP_CONCAT(n2.nextgenorder_ordernumber) | MIN(n2.nextgenorder_company_entity) | nextgenorder_companyname | nextgenorder_deliverydate
:---------------------------------------- | ----------------------------------: | :----------------------- | :------------------------
555123,555123,544523 | 103 | Apple | 2020-11-11
511523,144523 | 222 | Stack | 2020-11-11
444444,222222 | 777 | Telsa | 2020-11-11
db<>在這里
更多解釋
查詢的核心是
(SELECT REPLACE(`nextgenorder_companyname`,'Apple NYC','Apple') `nextgenorder_companyname`
, `nextgenorder_company_entity`, `nextgenorder_ordernumber`,nextgenorder_deliverydate
FROM nextgenorders2) n2
這替換了公司名稱,因此在這種情況下,Apple NYC成為Apple,這有點耗時,因此您應該考慮創建一個列母公司,但如果只有幾個,您可以像我一樣手動執行此操作。
Group By被簡化為只有公司名稱 ,因為這是我們的主要目標,要獲得有關該信息的所有信息,交貨日期就在那里,因為通常您會查找整個星期,因此如果您決定查看兩個或更多日期,它已經分組了。
選擇只是一個例子,因為不知道,你正在搜索什么,你的查詢沒有給我任何線索。
但是基數是針對每一列的,即不在 Group By 子句中,你需要一個聚合函數,以便開發人員必須決定每列他想要查看哪些數據。
在我的情況下,我決定查看所有訂單號,如果你只需要你采取的訂單數量計數。
該實體不在集團中,因為如果您只想從整體上看公司,我不明白為什么您需要任何實體,最小值只是因為您選擇了特斯拉777而不是888,但我不知道您需要它做什么
- 1 回答
- 0 關注
- 133 瀏覽
添加回答
舉報