f**********n 发帖数: 828 | 1 【 以下文字转载自 Statistics 讨论区 】
发信人: fivesixseven (红红), 信区: Statistics
标 题: 问一个数据库的题
发信站: BBS 未名空间站 (Tue Sep 17 09:50:29 2013, 美东)
假设有这个一个table:
state | phone_number | call_time | answer_time
一个entry可以是下面这个样子
WA | 123-456-7890 | 2013-07-08 08:00:00 | NULL
或者
WA | 123-456-7890 | 2013-07-08 08:00:00 | 2013-07-08 08:13:00
对于同一个电话号码,可能有好几个entry,因为call好几次。。
要求找出对于每一个state来说,所有(distinct)电话号码的总数,所有answer_time
至少有一个不是null的(distinct)电话号码总数。
好像不是一个难题。。。可是我越来越晕了。。。
谢谢!!!! |
d**e 发帖数: 6098 | 2 试试这个:
http://publib.boulder.ibm.com/infocenter/idshelp/v10/index.jsp?
【在 f**********n 的大作中提到】 : 【 以下文字转载自 Statistics 讨论区 】 : 发信人: fivesixseven (红红), 信区: Statistics : 标 题: 问一个数据库的题 : 发信站: BBS 未名空间站 (Tue Sep 17 09:50:29 2013, 美东) : 假设有这个一个table: : state | phone_number | call_time | answer_time : 一个entry可以是下面这个样子 : WA | 123-456-7890 | 2013-07-08 08:00:00 | NULL : 或者 : WA | 123-456-7890 | 2013-07-08 08:00:00 | 2013-07-08 08:13:00
|
w****e 发帖数: 23 | 3 SELECT state, COUNT(DISTINCT(phone_number))
FROM TableName
Where answer_time IS NOT NULL
GROUP BY state |
B*****g 发帖数: 34098 | 4 经常性的要求是count是0的也要列出来
【在 w****e 的大作中提到】 : SELECT state, COUNT(DISTINCT(phone_number)) : FROM TableName : Where answer_time IS NOT NULL : GROUP BY state
|
w****e 发帖数: 23 | 5 把州列出来做个左联接,
或者
SELECT state, COUNT(DISTINCT(phone_number + LEFT(answer_time,0)))
FROM TableName
GROUP BY state
思路,需要转类型自己转
【在 B*****g 的大作中提到】 : 经常性的要求是count是0的也要列出来
|
d**e 发帖数: 6098 | 6 这个非常靠谱。。。
【在 B*****g 的大作中提到】 : 经常性的要求是count是0的也要列出来
|