表 i_daycount:
id i_id i_date i_pvcount i_uvcount
19 13974509 2009-4-23 23:53:00 1394 361
20 21632348 2009-4-23 23:29:00 14 10
21 13974509 2009-4-24 23:59:00 1293 352
22 21632348 2009-4-24 23:06:00 7 5
23 13974509 2009-4-25 13:12:00 225 66
24 21632348 2009-4-25 9:09:00 1 1表 i_user
id i_user_id i_login_lasttime i_user_nick(昵称)
1 21632348 2009-4-25 9:38:27 小析331
2 13974509 2009-4-19 15:15:07 小雨卓 表 i_trade
id i_trade_id i_seller_nick i_buyer_nick i_trade_title i_price i_trade_endtime i_trade_payment i_trade_status
11 1703486662 小析331 默默生存 琪拍牙签 0.10 2009-4-15 16:22:11 0.10 TRADE_FINISHED
12 1700844075 小析331 默默生存 常常签盒 0.10 1900-1-1 0:00:00 0.10 WAIT_BUYER_CONFIRM_GOODS
13 1719606103 小雨卓 monicashu 白色羊皮拖跟凉鞋 68.00 1900-1-1 0:00:00 78.00 WAIT_SELLER_SEND_GOODS
14 1716479309 小雨卓 leo5527 黑色OL必备凉鞋 280.00 2009-4-17 22:55:21 165.00 TRADE_FINISHED我想求出这样的记录:(求出今日的信息,包括浏览量,交易量(状态是成交的)) 我的三表连接,结果查出的值不对。
时间段 浏览量(pv)顾客数(uv) 交易数 销售额 成交率
今日分析 147 461 46 61 9.98%
昨日分析 392 958 95 58 9.92%
id i_id i_date i_pvcount i_uvcount
19 13974509 2009-4-23 23:53:00 1394 361
20 21632348 2009-4-23 23:29:00 14 10
21 13974509 2009-4-24 23:59:00 1293 352
22 21632348 2009-4-24 23:06:00 7 5
23 13974509 2009-4-25 13:12:00 225 66
24 21632348 2009-4-25 9:09:00 1 1表 i_user
id i_user_id i_login_lasttime i_user_nick(昵称)
1 21632348 2009-4-25 9:38:27 小析331
2 13974509 2009-4-19 15:15:07 小雨卓 表 i_trade
id i_trade_id i_seller_nick i_buyer_nick i_trade_title i_price i_trade_endtime i_trade_payment i_trade_status
11 1703486662 小析331 默默生存 琪拍牙签 0.10 2009-4-15 16:22:11 0.10 TRADE_FINISHED
12 1700844075 小析331 默默生存 常常签盒 0.10 1900-1-1 0:00:00 0.10 WAIT_BUYER_CONFIRM_GOODS
13 1719606103 小雨卓 monicashu 白色羊皮拖跟凉鞋 68.00 1900-1-1 0:00:00 78.00 WAIT_SELLER_SEND_GOODS
14 1716479309 小雨卓 leo5527 黑色OL必备凉鞋 280.00 2009-4-17 22:55:21 165.00 TRADE_FINISHED我想求出这样的记录:(求出今日的信息,包括浏览量,交易量(状态是成交的)) 我的三表连接,结果查出的值不对。
时间段 浏览量(pv)顾客数(uv) 交易数 销售额 成交率
今日分析 147 461 46 61 9.98%
昨日分析 392 958 95 58 9.92%
--1、表之间的关系
--2、下面这些字段数据怎么取?
时间段 浏览量(pv)顾客数(uv) 交易数 销售额 成交率
今日分析 147 461 46 61 9.98%
昨日分析 392 958 95 58 9.92%
select i_pvcount 浏览量,i_uvcount 顾客数
from i_nb_DayCount
where i_id='21632348'
and convert(varchar(10),i_date,120)=convert(varchar(10),getdate(),120)结果是: 浏览量 顾客数
1 1/*查询今天交易数,交易额*/
select (case when (sum(i_tb_trade_num)) is null then 0 else sum(i_tb_trade_num) end ) 售出商品数,
(case when sum(i_tb_trade_payment) is null then 0 else sum(i_tb_trade_payment) end) 销售额
from i_tb_Trade
where i_tb_trade_status = 'TRADE_FINISHED'
and convert(varchar(10),i_tb_trade_end_time,120) = convert(varchar(10),getdate(),120)
and i_tb_trade_seller_nick='小析331'结果是:售出商品数 销售额
0 0.00最后还有个成交率: 交易数/浏览量 得出我想你们看看这个应该能看懂~
select 今日分析=convert(varchar(10),getdate() ,120),sum(i_pvcount) 浏览量,sum(i_uvcount) 顾客数 ,售出商品数=sum(i_tb_trade_num),销售额 =sum(i_tb_trade_payment),成交率=sum(i_tb_trade_num)*1.0/sum(i_pvcount) from i_nb_DayCount a
left join i_user b on a.i_id=b.i_user_id
left join i_trade c on b.i_user_nick=c.i_seller_nick
where datediff(dd,a.i_date,getdate())=0 and datediff(dd,c.i_trade_endtime,getdate())=0 and i_tb_trade_status = 'TRADE_FINISHED'
select 今日分析=convert(varchar(10),getdate() ,120),sum(i_pvcount) 浏览量,sum(i_uvcount) 顾客数 ,售出商品数=sum(i_tb_trade_num),销售额 =sum(i_tb_trade_payment),成交率=sum(i_tb_trade_num)*1.0/sum(i_pvcount) from i_nb_DayCount a
left join i_user b on a.i_id=b.i_user_id
left join i_trade c on b.i_user_nick=c.i_seller_nick
where datediff(dd,a.i_date,getdate())=0 and datediff(dd,c.i_trade_endtime,getdate())=0 and i_tb_trade_status = 'TRADE_FINISHED'
union all
select 昨日分析=convert(varchar(10),getdate()-1 ,120),sum(i_pvcount) 浏览量,sum(i_uvcount) 顾客数 ,售出商品数=sum(i_tb_trade_num),销售额 =sum(i_tb_trade_payment),成交率=sum(i_tb_trade_num)*1.0/sum(i_pvcount) from i_nb_DayCount a
left join i_user b on a.i_id=b.i_user_id
left join i_trade c on b.i_user_nick=c.i_seller_nick
where datediff(dd,a.i_date,getdate()-1)=0 and datediff(dd,c.i_trade_endtime,getdate()-1)=0 and i_tb_trade_status = 'TRADE_FINISHED'
今日分析 NULL NULL NULL NULL NULL我知道我可能错在哪了,我少写了一个where条件,第二个时间条件我没写,结果查出来的浏览量和顾客数特别大~~我在看看吧,谢谢你了~
i_pvcount i_uvcount i_trade_num i_tb_payment
1413 406 1 165.00
1413 406 1 336.00
1413 406 1 60.00
1413 406 1 166.00
1413 406 1 166.00我要得到这样的结果,
i_pvcount i_uvcount i_trade_num i_tb_payment
1413 406 5 893.00我这么写不对啊?
select i_pvcount,i_uvcount,sum(i_trade_num),sum(i_tb_payment) from a 消息 8120,级别 16,状态 1,第 1 行
选择列表中的列 'i_nb_DayCount.i_pvcount' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。
怎么写sql能得到我要的那样的结果呢?(后两列是累加出来的)