zoukankan      html  css  js  c++  java
  • [SQL]一个删选数据的例子,使用GROUP、DISTINCT

    今天遇到的问题,纠结了一上午,终于解决了。在此记录下来,自我认为还有很多类似的问题都可以套用这段代码。


    需求描述:

    一个表MyImage,列有:号码ID,路径PATH
    如:

    ID  PATH

    1  C:/
    1  C:/
    1  D:/
    2  C:/
    2  C:/
    3  A:/
    3  C:/
    4  D:/



    写个SQL语句,返回这样的记录的ID号:相同ID存在不同PATH。如上例子,正确的结果应是:

    ID

    1

    3

    (ID2没有不同PATH,ID4只有一条记录不存在不同PATH)


    这是我的SQL语句:

    select ID from [MyImage] as A
      group by ID
      having 
      (
      select COUNT(distinct(Path)) from [MyImage] as B where B.ID = A.ID
      )
      > 1


    一上午,就写出了这么一句啊!精华!有木有!

  • 相关阅读:
    MySQL多表查询回顾
    本地SQL查询
    QBC查询
    HQL查询
    Hibernate多对多操作
    Hibernate一对多操作
    表与表之间关系回顾
    x$bh视图
    dba 和 rdba 转载
    What you can talk
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3341547.html
Copyright © 2011-2022 走看看