我是 sql 的初學者,我想知道如何獲得組中的組數。
這里我想根據“COL1”列再次對表格進行分組,然后計算元素的數量。這應該在最后輸出,對于 B 組,兩個被計數,而對于所有其他人,一個。
為此,我首先創建了一個表
CREATE TABLE tablename (`ID` INTEGER, `Col1` VARCHAR(1), `Col2` VARCHAR(1), `Col3` VARCHAR(6));
INSERT INTO tablename (`ID`, `Col1`, `Col2`, `Col3`) VALUES
('1', 'A', 'Q', 'green'),
('2', 'B', 'R', 'blue'),
('3', 'B', 'S', 'red'),
('4', 'C', 'T', 'purple'),
('5', 'D', 'U', 'orange'),
('6', 'E', 'R', 'black'),
('7', 'F', 'U', 'brown'),
('8', 'F', 'V', 'pink'),
('9', 'G', 'W', 'white'),
('10', 'B', 'R', 'blue');
然后我將列分組
SELECT count(*),Col1,GROUP_CONCAT(Col2) Col2,
GROUP_CONCAT(Col3) Col3
FROM tablename a
GROUP BY Col1, Col2
uj5u.com熱心網友回復:
我希望我能正確理解你想要什么
select sum(sm),Col1,GROUP_CONCAT(Col2),GROUP_CONCAT(Col3) from (
SELECT count(*) as sm,Col1,GROUP_CONCAT(Col2) Col2,GROUP_CONCAT(Col3) Col3
FROM tablename a GROUP BY Col1, Col2
) b GROUP BY Col1
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/496285.html
標籤:mysql
