我的表就像:
id name seller product
1 bags s1 gold bag
2 shirt s1 shirts
3 shows s1 big show
4 jewellery s1 jewellery
5 Tv s2 Tv
我想选择4行,4行必须包含卖家s1
和s2
两种结果。现在当我选择4条记录时,所以前4条记录正在选择有卖家s1
修改
我已经尝试过" GROUP BY "但它唯一返回的单个结果....我的意思是id = 1
和 从表中选择不同的卖家 只获得2行
我需要 " 我想选择4行,4行必须包含卖家s1
和s2
两种结果。"
答案 0 :(得分:0)
select distinct seller from table
虽然这只会返回2行
答案 1 :(得分:0)
以下解决方案将返回4行,其中包含卖家s1和s2。
代码段1
代码段仅返回" s1"的3条记录。这是通过向查询添加where seller = "s1"
和limit 3
子句来完成的。
select id, name, seller, product
from mytable
where seller = 's1'
limit 3
union
子句将两个代码段连接在一起。
代码段2
第二个代码段执行与第一个代码段中看到的类似的子查询。添加了外部查询以确保限制子句仅限于子查询,而不是整个结果。
select *
from (
select id, name, seller, product
from mytable
where seller = 's2'
limit 1) t1
以下是包含SQL Fiddle demo链接的完整代码。
select id, name, seller, product
from mytable
where seller = 's1'
limit 3
union
select *
from (
select id, name, seller, product
from mytable
where seller = 's2'
limit 1) t1