列出通过条件并按月分组的帐户
List account which pass a condition and group out come by month
我有这个数据库
CREATE TABLE Trainee(
TraineeID smallint unsigned auto_increment primary key,
Full_Name nvarchar(100) not null,
Birth_Date date not null,
Gender enum('male', 'female', 'unknown') not null,
ET_IQ tinyint not null,
CHECK (0<=ET_IQ<=20),
ET_Gmath tinyint not null,
CHECK (0<=ET_Gmath<=20),
ET_English tinyint not null,
CHECK (0<=ET_English<=50),
Training_Class varchar(15) not null,
Evaluation_Notes nvarchar (200),
);
我想select通过条件的Trainne并按出生月份对这些受训者进行分组
SELECT Full_Name,
Birth_Date
FROM Trainee
WHERE ET_IQ + ET_Gmath + ET_English >= 20
GROUP BY MONTH(Birth_Date);
('thomas', '1988-11-30', 'male', '10', '10', '40', '1')
('Tom', '1995-07-15', 'male', '15', '8', '30', '2')
('emma', '1990-08-20', 'female', '15', '15', '25', '3')
但它不起作用。请帮忙!谢谢
你是说ORDER BY
出生月份吗?[=15=]
试试这个
SELECT Full_Name,
Birth_Date,
MONTHNAME(Birth_Date)
FROM Trainee
WHERE ET_IQ + ET_Gmath + ET_English >= 20
ORDER BY MONTH(Birth_Date), Full_Name;
ORDER BY
是控制结果集排序方式的 SQLish 方式。 GROUP BY
允许您汇总数据,执行如下操作:
SELECT MONTHNAME(Birth_Date),
COUNT(*) How_Many_Birthdays
FROM Trainee
WHERE ET_IQ + ET_Gmath + ET_English >= 20
GROUP BY MONTH(Birth_Date)
我有这个数据库
CREATE TABLE Trainee(
TraineeID smallint unsigned auto_increment primary key,
Full_Name nvarchar(100) not null,
Birth_Date date not null,
Gender enum('male', 'female', 'unknown') not null,
ET_IQ tinyint not null,
CHECK (0<=ET_IQ<=20),
ET_Gmath tinyint not null,
CHECK (0<=ET_Gmath<=20),
ET_English tinyint not null,
CHECK (0<=ET_English<=50),
Training_Class varchar(15) not null,
Evaluation_Notes nvarchar (200),
);
我想select通过条件的Trainne并按出生月份对这些受训者进行分组
SELECT Full_Name,
Birth_Date
FROM Trainee
WHERE ET_IQ + ET_Gmath + ET_English >= 20
GROUP BY MONTH(Birth_Date);
('thomas', '1988-11-30', 'male', '10', '10', '40', '1')
('Tom', '1995-07-15', 'male', '15', '8', '30', '2')
('emma', '1990-08-20', 'female', '15', '15', '25', '3')
但它不起作用。请帮忙!谢谢
你是说ORDER BY
出生月份吗?[=15=]
试试这个
SELECT Full_Name,
Birth_Date,
MONTHNAME(Birth_Date)
FROM Trainee
WHERE ET_IQ + ET_Gmath + ET_English >= 20
ORDER BY MONTH(Birth_Date), Full_Name;
ORDER BY
是控制结果集排序方式的 SQLish 方式。 GROUP BY
允许您汇总数据,执行如下操作:
SELECT MONTHNAME(Birth_Date),
COUNT(*) How_Many_Birthdays
FROM Trainee
WHERE ET_IQ + ET_Gmath + ET_English >= 20
GROUP BY MONTH(Birth_Date)