s***c 发帖数: 1664 | 1 比如一个表
cust date prod
1 1/1/2015 A
1 1/2/2015 B
1 1/3/2015 B
2 1/3/2015 C
2 1/4/2015 D
怎么变成下面这个表,不管customer什么时候买过某个产品,买过几次,只要买过,就
记成1,否则0
cust A B C D
1 1 1 0 0
2 0 0 1 1
谢谢~ |
tj 发帖数: 957 | 2 select * from (select distinct cust, cust as c, prod) pivot (count(c) for
prod in ('A','B','C','D'));
【在 s***c 的大作中提到】 : 比如一个表 : cust date prod : 1 1/1/2015 A : 1 1/2/2015 B : 1 1/3/2015 B : 2 1/3/2015 C : 2 1/4/2015 D : 怎么变成下面这个表,不管customer什么时候买过某个产品,买过几次,只要买过,就 : 记成1,否则0 : cust A B C D
|
w*****m 发帖数: 20421 | 3 如果是ABCDEFGHI,,,,直到无穷多个呢
PRODUCT永远都在添加 |
s***c 发帖数: 1664 | 4 是啊,这个只是表的头几行,要是有很多product呢 |
tj 发帖数: 957 | 5 this is pivot table, how wide do you want your table be?
if you do need to get many columns, add xml() before your pivot and you will
get an pivot table for whatever how many columns you have.
then you will have to do xml query to get those columns back.
【在 s***c 的大作中提到】 : 是啊,这个只是表的头几行,要是有很多product呢
|
m******u 发帖数: 12400 | 6 你们不要太mean吗。这是一个很好的题目。只是pivot可能不行,这个对于特定ID,把
没有order过的产品,自动标记为0,怎么实现啊。 |
B*****g 发帖数: 34098 | 7 就Relational来说,一定会有一个product table,出题的人不合格
【在 m******u 的大作中提到】 : 你们不要太mean吗。这是一个很好的题目。只是pivot可能不行,这个对于特定ID,把 : 没有order过的产品,自动标记为0,怎么实现啊。
|
c*****d 发帖数: 6045 | 8 你们的数据库老师是体育老师转行吗?
教出来的学生根本就没理解1NF, 2NF, 3NF in RDBMS Normalization |
B*****g 发帖数: 34098 | 9 有微信了吗?
【在 c*****d 的大作中提到】 : 你们的数据库老师是体育老师转行吗? : 教出来的学生根本就没理解1NF, 2NF, 3NF in RDBMS Normalization
|
s***c 发帖数: 1664 | 10 不好意思啊,我数据库外行。。product table 有的,我一个个type进去了,还好只有
20个product,要有1万个,我就抓瞎了
谢谢tj,发个包子
再弱问下,为什么要create c from cust, 然后count(c) from prod, 是说每个
customer 对于某种product,碰到了,就count成1,而且只count一次,对吗? 不太明
白在这里面是怎么count的
我得找些pivot table的资料看看
【在 B*****g 的大作中提到】 : 就Relational来说,一定会有一个product table,出题的人不合格
|
tj 发帖数: 957 | 11 你试试去掉distinct, 或者 cust.
另外不用挨个敲的,
select ''''//prod//''',' from product_table
把/换成pipe- 手机上没有。
【在 s***c 的大作中提到】 : 不好意思啊,我数据库外行。。product table 有的,我一个个type进去了,还好只有 : 20个product,要有1万个,我就抓瞎了 : 谢谢tj,发个包子 : 再弱问下,为什么要create c from cust, 然后count(c) from prod, 是说每个 : customer 对于某种product,碰到了,就count成1,而且只count一次,对吗? 不太明 : 白在这里面是怎么count的 : 我得找些pivot table的资料看看
|