由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Database版 - 请教高手,包子谢
相关主题
请求SQL语句请教大虾问题哈,包子谢哈
请教一个问题菜鸟问题,急
Question about the err when export tableSQL 查询已经解决.谢谢Modeler,mirthc,cheungche
请问T-SQL中Group By之后怎么找到特定的recordmysql 问题 (转载)
给大家贡献一个fb面试的sql问题how to write this query
问一道sql的面试题啊 自己实在是没想出来请问个join的问题
请教set和select 的区别问个 sp_send_dbmail 的问题
怎样快速得到两个表的交集数据库查询一个小问题
相关话题的讨论汇总
话题: 12346话题: customerid话题: 12345话题: 2010话题: inquery
进入Database版参与讨论
1 (共1页)
m**********2
发帖数: 2252
1
有2个table
table1:
tablID, CustomerID, inquery code,inquerydate
34, 12345, A, 1/1/2010
35, 12346, A, 1/3/2010
36, 12345, B, 1/5/2010
37, 12346, B, 1/8/2010
38, 12345, C, 1/20/2010
39, 12346, C, 1/24/2010
......
table2:
orderID, CustomerID, orderdate
2001, 12345, 1/15/2010
2002, 12346, 1/12/2010
我现在想做个report,如下结果:
customerID, inquery code,inquerydate
12345, B
12346, B
就是说,找出的inquery code在orderdate之前的最后一次。
包子谢!
e***e
发帖数: 1040
2
SELECT CustomerID, Inquery_code FROM table1
WHERE Inquerydate IN (SELECT max(inquerydate) FROM table1,table2 WHERE
table1.CustomerID = table2.CustomerID AND table1.inquerydate orderdate GROUP BY table1.CustomerID)
包子 please,当然date那个可以自己改一下,懒得写了

【在 m**********2 的大作中提到】
: 有2个table
: table1:
: tablID, CustomerID, inquery code,inquerydate
: 34, 12345, A, 1/1/2010
: 35, 12346, A, 1/3/2010
: 36, 12345, B, 1/5/2010
: 37, 12346, B, 1/8/2010
: 38, 12345, C, 1/20/2010
: 39, 12346, C, 1/24/2010
: ......

m**********2
发帖数: 2252
3
恩,谢谢二姐。包子已发。明天回公司试一下,不行再找你。。。。

【在 e***e 的大作中提到】
: SELECT CustomerID, Inquery_code FROM table1
: WHERE Inquerydate IN (SELECT max(inquerydate) FROM table1,table2 WHERE
: table1.CustomerID = table2.CustomerID AND table1.inquerydate: orderdate GROUP BY table1.CustomerID)
: 包子 please,当然date那个可以自己改一下,懒得写了

B*****g
发帖数: 34098
4
看了“最”字就知道要用partition by

【在 m**********2 的大作中提到】
: 有2个table
: table1:
: tablID, CustomerID, inquery code,inquerydate
: 34, 12345, A, 1/1/2010
: 35, 12346, A, 1/3/2010
: 36, 12345, B, 1/5/2010
: 37, 12346, B, 1/8/2010
: 38, 12345, C, 1/20/2010
: 39, 12346, C, 1/24/2010
: ......

m**********2
发帖数: 2252
5
给个具体的code? 包子送上。谢。

【在 B*****g 的大作中提到】
: 看了“最”字就知道要用partition by
B*****g
发帖数: 34098
6
你太懒了。
select ...
from
(select ..., rank() over (partition by t1.ID order by t1.date desc) rn
from t1, t2
where t1.id = t2.id and t1.date <= t2.date)
where rn = 1

【在 m**********2 的大作中提到】
: 给个具体的code? 包子送上。谢。
e***e
发帖数: 1040
7
Well, the difference between group by and partition by is that group by is
an aggregate function while partition by is analytical. In this specific
case, we just need to know the max for every customerID (of course, subject
to certain constraints) instead of listing every tuple partitioned by
customerID. While using partition is correct, it is not necessary.
m**********2
发帖数: 2252
8
同意。你的code比北京的好用。。。

subject

【在 e***e 的大作中提到】
: Well, the difference between group by and partition by is that group by is
: an aggregate function while partition by is analytical. In this specific
: case, we just need to know the max for every customerID (of course, subject
: to certain constraints) instead of listing every tuple partitioned by
: customerID. While using partition is correct, it is not necessary.

B*****g
发帖数: 34098
9
hehe.

is

【在 m**********2 的大作中提到】
: 同意。你的code比北京的好用。。。
:
: subject

1 (共1页)
进入Database版参与讨论
相关主题
数据库查询一个小问题给大家贡献一个fb面试的sql问题
问个SQL问题- partial outer join问一道sql的面试题啊 自己实在是没想出来
SQL combine two tables into one table and add a new column请教set和select 的区别
sort two same tables SQL but different results怎样快速得到两个表的交集
请求SQL语句请教大虾问题哈,包子谢哈
请教一个问题菜鸟问题,急
Question about the err when export tableSQL 查询已经解决.谢谢Modeler,mirthc,cheungche
请问T-SQL中Group By之后怎么找到特定的recordmysql 问题 (转载)
相关话题的讨论汇总
话题: 12346话题: customerid话题: 12345话题: 2010话题: inquery