mysql 获取交集数据

mysql 获取交集数据,第1张

你是要查前十个查询结果中相同的那些记录,而不求前十个相同记录吧,因为这是有差别的,按照你的语句,应该是求前者,即先求出A的前十条数据,B的前十条数据,再求它们的交集。

既然是求交集,那么这两个表的关系模式应该是相同的了,

select

a.*

from

(select

*

from

table

order

by

table.a

desc

limit

10)

as

a,

(select

*

from

table

order

by

table.b

desc

limit

10)

as

b

where

a.primary_key

=

b.primary_key

--先将两个结果作为两张临时表,然后通过主键

primary_key来获取交集(交集肯定就是主键相等的了,因为关系模式相同)

mysql这垃圾不支持交集的。如果是数据库那么SQL如下SELECT id FROM a WHERE aid=5 INTERSECTSELECT id FROM a WHERE aid=6

select * from mytable where pet in (select pet from mytable group by pet having count(pet)>1)

获取同一pet数量大于1的pet并select出相关信息

select pet,count(pet) as per_count from mytable group by pet order by count(pet) desc limit 10

获取pet拥有量前十的pet和数量


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7297323.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存