我有一个名为results5列的表格。 p9 S* g5 S& l% i0 y8 [
我想使用该title列查找要说的行:WHERE title like '%for3 u! u' u$ S7 D9 b5 _0 c# `
sale%'然后在该列中列出最受欢迎的单词。一个会是for,另一个会是,sale但是我想看看与此相关的其他词。# {/ H* ?2 t/ G# i7 j4 Y. N
样本数据:5 X2 b# o) x9 d3 }
title( z% T, I$ }& v( x0 g$ l% p' Z1 e9 M
cheap cars for sale# p0 Z9 s& p1 u p& Q8 U) \- v
house for sale ! U F/ j2 }) Z: M: S% O$ N- r# E: z& Scats and dogs for sale ! y$ `' w. D( H( G+ Y! Eiphones and androids for sale 0 }" ?" v: g1 \8 Q1 y \9 Qcheap phones for sale A" x% z) \& }& U8 A
house furniture for sale7 H. U; T7 A3 f+ j0 D3 G
结果(单字):2 Q, J4 b" `+ i$ F; W
for 69 T: D. H% p* R6 z+ J5 Z/ F. h6 r
sale 6 7 W, a3 p: j$ d' S0 u8 e3 |cheap 2 , W Y+ r; x( k2 j" oand 2 3 I! U. |, J9 e- K$ |: Jhouse 2 / E9 X9 O2 W8 X0 ~. _% X# U! w7 s k" Jfurniture 1, [- M* F; _2 @7 Z
cars 1 - X' E/ y; @4 \6 c: letc...8 o1 h+ c5 l; z! g6 L
! X& {* t. W+ P 解决方案:2 l& e5 i% a8 ^9 u
9 T: U, y6 }" ?$ q7 c9 D7 ^8 {2 H . F7 A$ u0 [2 Z d( a! R/ w; u * Q" D5 A/ ~8 G% m 您可以通过一些字符串操作来提取单词。假设您有一个数字表,并且单词之间用单个空格分隔:" \3 l+ S! ~! u, ^% ?! U
select substring_index(substring_index(r.title, ' ', n.n), ' ', -1) as word,1 }9 w( M9 Z, U$ C+ ]
count(*) ! H% G/ W0 \6 G# C5 Tfrom results r join. `: ^9 m. N" r5 v9 S- p
numbers n + F1 g8 j' G, u8 c+ V. o N8 |, D on n.n 如果没有数字表,则可以使用子查询手动构造一个表: B, d% y" g- D! Y% n
from results r join3 Y$ M! |% h- c
(select 1 as n union all select 2 union all select 3 union all . . .1 I' i* {" d7 F' s5 a/ @- H/ i
) n + z7 U' x& [ F8 L8 ~+ N1 K . . . 7 J. o+ i: Y; Y, SSQL小提琴(由@GrzegorzAdamKowalski提供)在这里。