select convert(varchar(7),订单时间,111) as 月,count(distinct O.客户ID) 下订单总客户数A ,SUM(CASE WHEN convert(varchar(7),订单时间,111)=convert(varchar(7),注册时间,111) THEN 1 ELSE 0 END) 当月新注册并下订单客户数B from O,C WHERE O.客户ID=C.客户ID group by 月
select convert(char(7),订单时间,120) as 年月 , sum(订单ID) 订单的客户数 as from 客户表 A, 订单表 B where A.客户ID =B.客户ID group by convert(char(7),订单时间,120)有一點不太理解樓主的意思 下订单总客户数A 当月新注册,并下订单客户数B 這兩是用什麼條件來確定的。 在你的數據庫裡。 可以說的詳細一點嗎 最好給出實例來
select convert(char(7),订单时间,120) as 年月 , sum(订单ID) as 订单的客户数 from 客户表 A, 订单表 B where A.客户ID =B.客户ID group by convert(char(7),订单时间,120)
CREATE TABLE C(客户ID INT, 注册时间 DATETIME) INSERT INTO C VALUES(1 , '2005-1-1 12:35:12') INSERT INTO C VALUES(2 , '2005-3-2 14:25:22')CREATE TABLE O(订单ID INT, 客户ID INT, 订单时间 DATETIME) INSERT INTO O VALUES(1 , 1, '2005-1-3 20:12:01') INSERT INTO O VALUES(2 , 1, '2005-2-10 22:10:10') INSERT INTO O VALUES(3 , 2, '2005-3-20 12:12:00')select convert(varchar(7),订单时间,120) as 月,count(distinct O.客户ID) 下订单总客户数A ,SUM(CASE WHEN convert(varchar(7),订单时间,120)=convert(varchar(7),注册时间,120) THEN 1 ELSE 0 END) 当月新注册并下订单客户数B from O,C WHERE O.客户ID=C.客户ID group by convert(varchar(7),订单时间,120)DROP TABLE C,O
如果当月该客户下了几次单,是不是只算一个? CREATE TABLE C(客户ID INT, 注册时间 DATETIME) INSERT INTO C VALUES(1 , '2005-1-1 12:35:12') INSERT INTO C VALUES(2 , '2005-3-2 14:25:22')CREATE TABLE O(订单ID INT, 客户ID INT, 订单时间 DATETIME) INSERT INTO O VALUES(1 , 1, '2005-1-3 20:12:01') INSERT INTO O VALUES(1 , 1, '2005-1-4 20:12:01') INSERT INTO O VALUES(2 , 1, '2005-2-10 22:10:10') INSERT INTO O VALUES(3 , 2, '2005-3-20 12:12:00')select 月,count(*) 下订单总客户数A ,SUM(CASE WHEN 月=convert(varchar(7),注册时间,120) THEN 1 ELSE 0 END) 当月新注册并下订单客户数B from c,(select DISTINCT convert(varchar(7),订单时间,120) as 月,客户ID FROM O ) d where c.客户ID=d.客户ID group by 月DROP TABLE C,O
sum(订单ID) 订单的客户数 as from 客户表 A, 订单表 B
where A.客户ID =B.客户ID
group by convert(char(7),订单时间,120)有一點不太理解樓主的意思
下订单总客户数A 当月新注册,并下订单客户数B
這兩是用什麼條件來確定的。
在你的數據庫裡。
可以說的詳細一點嗎
最好給出實例來
sum(订单ID) as 订单的客户数 from 客户表 A, 订单表 B
where A.客户ID =B.客户ID
group by convert(char(7),订单时间,120)
INSERT INTO C VALUES(1 , '2005-1-1 12:35:12')
INSERT INTO C VALUES(2 , '2005-3-2 14:25:22')CREATE TABLE O(订单ID INT, 客户ID INT, 订单时间 DATETIME)
INSERT INTO O VALUES(1 , 1, '2005-1-3 20:12:01')
INSERT INTO O VALUES(2 , 1, '2005-2-10 22:10:10')
INSERT INTO O VALUES(3 , 2, '2005-3-20 12:12:00')select convert(varchar(7),订单时间,120) as 月,count(distinct O.客户ID) 下订单总客户数A
,SUM(CASE WHEN convert(varchar(7),订单时间,120)=convert(varchar(7),注册时间,120) THEN 1 ELSE 0 END) 当月新注册并下订单客户数B
from O,C WHERE O.客户ID=C.客户ID group by convert(varchar(7),订单时间,120)DROP TABLE C,O
CREATE TABLE C(客户ID INT, 注册时间 DATETIME)
INSERT INTO C VALUES(1 , '2005-1-1 12:35:12')
INSERT INTO C VALUES(2 , '2005-3-2 14:25:22')CREATE TABLE O(订单ID INT, 客户ID INT, 订单时间 DATETIME)
INSERT INTO O VALUES(1 , 1, '2005-1-3 20:12:01')
INSERT INTO O VALUES(1 , 1, '2005-1-4 20:12:01')
INSERT INTO O VALUES(2 , 1, '2005-2-10 22:10:10')
INSERT INTO O VALUES(3 , 2, '2005-3-20 12:12:00')select 月,count(*) 下订单总客户数A
,SUM(CASE WHEN 月=convert(varchar(7),注册时间,120) THEN 1 ELSE 0 END) 当月新注册并下订单客户数B
from c,(select DISTINCT convert(varchar(7),订单时间,120) as 月,客户ID FROM O ) d
where c.客户ID=d.客户ID group by 月DROP TABLE C,O