小编ash*_*ash的帖子

计算每月新客户数

出于某种原因,我对此感到困惑.

基本上,我正在寻找一个查询,可以找到自2010年以来每月新客户的数量.

我有客户的电子邮件地址(电子邮件),所有下订单(OrderID),以及它所在的日期(OrderDate).该表是tblOrder.

我知道"新客户"是:(a)在日期/月之前从未订购的人和(b)在日期/月之后至少有一个订单的人

我希望输出最终是这样的,更简单的方法更好:

      01   02   03   04   05   06   07   08   09   10   11   12
2010  ##   ##   ##   ##   ##   ##   ##   ##   ##   ##   ##   ##
2011  ##   ##   ##   ##   ##   ##   ##   ##   ##   ##   ##   ##
2012  ##   ##   ##   ##   ##   ##   ##   ##   ##   ##   ##   ##
Run Code Online (Sandbox Code Playgroud)

我得到了这个,但是伙计们,我真的不是一个程序员,而且你们可能看起来很简单,但这些都超出了我的想法而根本没有点击我.

SELECT <customer info> 
FROM <customer table> 
WHERE (SELECT COUNT(<order info>) 
    FROM <order table> 
    WHERE <customer info> = <current customer> …
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2008

6
推荐指数
1
解决办法
3807
查看次数

如何在Excel中查找和提取重复的文本字段

我在MS Excel 2010的一列中有大约80,000封电子邮件.

其中一些是重复的,我需要找到并拉出那些重复.我希望将重复项放在单独的文档中.

现在我可以找到它们并使用内置于Excel中的条件格式功能(主页选项卡>条件格式>突出显示单元格规则>重复值)以红色突出显示它们,但实际上只是突出显示它们.

还有删除重复项,显然只删除它们; 不是我想要的.

有什么建议?

excel excel-2010

2
推荐指数
1
解决办法
5万
查看次数

计算每件订单价值超过100美元的商品

我正在努力寻找总价至少250美元的客户订单.然后我需要比较他们每个订单购买的实际商品,看看有多少价值低于或低于100美元.

所以说他们共购买了5件商品.两个价值至少100美元.三个少了.结果将是:

OrderID  LargeItems  SmallItems  Total
1112     2           3           5
Run Code Online (Sandbox Code Playgroud)

这就是我所追求的一个粗略的例子.

现在我有:

--Total Items purchased in orders worth $250 or more
SELECT O.OrderID,COUNT(OP.Price) as 'Total'
FROM dbo.tblOrder O WITH (NOLOCK)
    INNER JOIN dbo.tblOrderProduct OP WITH (NOLOCK)
        ON O.OrderID=OP.OrderID
WHERE O.OrderDate BETWEEN '2011-01-01' AND '2013-01-01'
    and O.Total >= 250
group by O.OrderID
order by O.OrderID
Run Code Online (Sandbox Code Playgroud)

如果你不能轻易说出:

  • OP.Pprice是订单中单个商品的价格
  • O.Total是订单总额

我错过了大项目和小项目列.我怎样才能将这些单独的计数放入?

谢谢!请询问您是否需要任何额外信息.

sql sql-server sql-server-2008

0
推荐指数
1
解决办法
117
查看次数

按部门每天工作的小时数和平均小时数

我试图估计一段时间内人们工作了多少小时.我想通过部门和他们在哪个领域展示这一点.现在我有这个:

SELECT M.MemberDepartmentID,T.TaskName,
    COUNT(DATEDIFF(HOUR, TT.StartTime, TT.EndTime)) 'Hours',
    AVG(DATEDIFF(HOUR, TT.StartTime, TT.EndTime)) Average
FROM Member.TaskTracking TT
    LEFT OUTER JOIN Member.Task T
        ON TT.TaskID=T.TaskID
    JOIN dbo.tblMember M
        ON TT.MemberID=M.MemberID
WHERE M.FullTime=1
    AND M.EmployeeSalary=1
    AND (TT.StartTime >= '2013-10-01'
    AND TT.EndTime < '2013-11-01')
GROUP BY M.MemberDepartmentID,T.TaskName
ORDER BY M.MemberDepartmentID,T.TaskName
Run Code Online (Sandbox Code Playgroud)

我不知道如何确认它是否正确,但有些肯定会显示平均零,即使有工作时间.有些平均值高于工作小时数.例如,以下是我的一些结果:

MemberDepartmentID  TaskName        Hours   Average
---------------------------------------------------
1                   Packing         25      0
1                   Picking         6       0
1                   PreScanning     38      7
4                   Picking         2       104
Run Code Online (Sandbox Code Playgroud)

建议?

sql sql-server sql-server-2008

0
推荐指数
1
解决办法
1200
查看次数

标签 统计

sql ×3

sql-server ×3

sql-server-2008 ×3

excel ×1

excel-2010 ×1