count与distinct的联合使⽤
遇到⼀个问题 :
题⽬:
=========================
⽤户名商品数量
A        甲      1
B        ⼄      2
C        丙      2
B        甲      1
A        丙      2
C        丙      1
写sql语句
要求查出购买商品两种类型以上(含)的⽤户集合
数据表中的数据如下:
⼀:
id      name    goodsname  num
1   A    JI      1
2   B    JK      2
3   C    J      3
4     B    JKL              4
5   A    JKLM     5
6   C    J      6
同事们给出的意见是:
Sql代码
1. SELECT temp.name
2. FROM (
3. SELECT dsname) as nums,
4.              tempone.name
5. FROM tempone
6. GROUP BY tempone.name
7.    ) temp
8. WHERE temp.nums > 1
SELECT temp.name
FROM (
SELECT dsname) as nums,
tempone.name
FROM tempone
GROUP BY tempone.name
) temp
WHERE temp.nums > 1
查出来的结构如下
name
A
Sql代码
1. SELECT temp.name
2. FROM (
3. SELECT count(dsname) as nums,
4.          tempone.name
5. FROM tempone
6. GROUP BY tempone.name
7.    ) temp
8. WHERE temp.nums > 1
SELECT temp.name
FROM (
SELECT count(dsname) as nums,        tempone.name
FROM tempone
GROUP BY tempone.name
) temp
WHERE temp.nums > 1
查出来的结构如下
name
A
B
如三表⽰符合了该要求
distinct查询
还有⼀种查询⽅式是
select temp.name
from temp
group by temp.name
having COUNT(distinct goodsname) > 1
也可以达到相同的效果
主要总结count 与 distinct的联合使⽤
===
总结才是记住东西的根本

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。