从mysql中选择所有类型的数据

时间:2015-04-15 04:21:03

标签: mysql mysqli phpmyadmin

我的表就像:

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行必须包含卖家s1s2两种结果。现在当我选择4条记录时,所以前4条记录正在选择有卖家s1

修改


我已经尝试过" GROUP BY "但它唯一返回的单个结果....我的意思是id = 1

和 从表中选择不同的卖家 只获得2行

我需要 " 我想选择4行,4行必须包含卖家s1s2两种结果。"

2 个答案:

答案 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