表字段如下:
number
order_id
name
qty
diqu
number字段是批号,每一批记录都是一样的。问题一。请问怎么查找number为1,name字段只出现过一次的,qty为1,diqu为HK的记录.问题二。请问怎么查找number为1,name字段出现过大于1次或者qty大于1的记录。
number
order_id
name
qty
diqu
number字段是批号,每一批记录都是一样的。问题一。请问怎么查找number为1,name字段只出现过一次的,qty为1,diqu为HK的记录.问题二。请问怎么查找number为1,name字段出现过大于1次或者qty大于1的记录。
select *
from 表 t
where number=1
and 1=(select count(*) from 表 where name=t.name)
and qty=1
and diqu='HK';
select *
from 表 t
where number=1
and 1<(select count(*) from 表 where name=t.name)
and qty>1
第二个问题的答案是不是应该用OR???
select *
from 表 t
where number=1
and (1<(select count(*) from 表 where name=t.name)
or qty>1)
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
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`
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))