数据库查询中,带有百分号数据的模糊查询怎么查,比如,我要查,某个字段里含有10%的数据!

数据库查询中,带有百分号数据的模糊查询怎么查,比如,我要查,某个字段里含有10%的数据!,第1张

表可能存储含百分号

(%)

的值,若要搜索作为字符而不是通配符的百分号,必须提供

ESCAPE

关键字和转义符,

WHERE

XX

LIKE

'%10!%%'

ESCAPE

'!'

SELECT A.* FROM

(

SELECT ROW_NUMBER() OVER ( ORDER BY YWLX) ROWNUMBER,* FROM YF_YWLX

) A WHERE ROWNUMBER*10<= (SELECT COUNT(1) FROM YF_YWLX)

这里记录一个问题

在MySQL中,我们要查看前3条记录的话,是使用limit

简单的分页也可以使用力limit来完成

这都比较常见,如果我们想要获取数据的前10%呢?

在SQLServer中,我们可以直接使用top 10 percent 就可以了,但在MySQL中,我们得另想办法

前10%的数据,我们得知道数据一共有多少,那我们就知道该获取多少条记录了,然后还得知道记录的行号

@row_num这个变量,是按行来的,所以我们再where条件中使用的时候,他是最后1条记录的行号,及总记录数

总记录数乘以50%,就是前50%的记录数,这样,我们就获取了前X%数据,做完收工。


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

原文地址: http://outofmemory.cn/sjk/10076160.html

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

发表评论

登录后才能评论

评论列表(0条)

保存