表字段如下:
number
order_id
name
qty
diqu
number字段是批号,每一批记录都是一样的。问题一。请问怎么查找number为1,name字段只出现过一次的,qty为1,diqu为HK的记录.问题二。请问怎么查找number为1,name字段出现过大于1次或者qty大于1的记录。

解决方案 »

  1.   

    问题一。请问怎么查找number为1,name字段只出现过一次的,qty为1,diqu为HK的记录.
    select *
    from 表 t
    where number=1
    and 1=(select count(*) from 表 where name=t.name)
    and qty=1
    and diqu='HK';
      

  2.   

    问题二。请问怎么查找number为1,name字段出现过大于1次或者qty大于1的记录。
    select *
    from 表 t
    where number=1
    and 1<(select count(*) from 表 where name=t.name)
    and qty>1
      

  3.   

    ACMAIN_CHM大大,
    第二个问题的答案是不是应该用OR???
      

  4.   


    select *
    from 表 t
    where number=1
    and (1<(select count(*) from 表 where name=t.name)
    or qty>1)
      

  5.   


    ACMAIN_CHM大大
    关于第二个问题,语句以下是否正确呢?我的需求是number=1  name出现在次数>1 或者 数量>1(number一定要为1,其它两个条件只要再满足其中一个就算)
    select * from 表 t where number=1 and 1<(select count(*) from 表 where name=t.name) OR qty>1 
      

  6.   

    第三个问题:
    select * from `sale_orders` t where `number`=1 and 1<(select count(*) from `sale_orders` where `recipient-name`=t.`recipient-name`) OR `quantity-purchased`>1 请问怎么在以上查询结果的基础上执行下面这个查询???SELECT * , group_concat('  ' , concat_ws( ' X ', `sku` , `quantity-purchased` ) , if(`quantity-purchased`> 1, '****' , '  ') ),group_concat('  ' , `order_id` , '  ') FROM ( select * from `sale_orders` order by `sku`) T WHERE `shipments` =0 AND `number` =1 GROUP BY `recipient-name` , `ship-address-1` ORDER BY length(group_concat( ' ' , concat_ws( ' X ', `sku` , `quantity-purchased` ) , ' ' )) DESC,`sku`
      

  7.   

    表字段如下:
    number  order_id name qty diqunumber字段是批号,每一批记录都是一样的。问题一。请问怎么查找number为1,name字段只出现过一次的,qty为1,diqu为HK的记录.
    select * from table number=1 and qty=1 and diqu='HK' and name in(select name from table group by name having count(name)=1)问题二。请问怎么查找number为1,name字段出现过大于1次或者qty大于1的记录。 
    select * from table number=1 and (qty>1 or name in(select name from table group by name having count(name)>1))