在一列与另一列的值完全相同的情况下,按此排序。

问题描述 投票:3回答:2

我需要在一列与另一列的值完全相同的地方进行排序。有什么方法可以做到这一点吗?如果有,请告诉我。ORDER BY wordMatch = wordCount

SELECT * , 
( input LIKE  '% i %') + 
( input LIKE  '% love %' ) + 
( input LIKE  '% you %' ) AS wordMatch, 
( LENGTH( input ) - LENGTH( REPLACE( input,  ' ',  '' ) ) -1 ) AS wordCount
FROM allData
HAVING wordMatch > ( wordCount * 0.6666 ) 
AND wordCount > ( 3 * 0.6666 ) 
ORDER BY wordMatch = wordCount
LIMIT 50
mysql sql-order-by
2个回答
1
投票

如果你想先让最接近的匹配,那么使用 desc:

order by (wordMatch = wordCount) desc

或者,你也可能想要差值的绝对值。

order by abs(wordMatch - wordCount)

0
投票

我在找这样的东西。

ORDER BY wordMatch = wordCount DESC , wordCount DESC 
© www.soinside.com 2019 - 2024. All rights reserved.