我有一个名为results5列的表格。 1 G3 i7 ^* X" H/ e6 I- d我想使用该title列查找要说的行:WHERE title like '%for! `1 D. |- n) `! q: n+ `
sale%'然后在该列中列出最受欢迎的单词。一个会是for,另一个会是,sale但是我想看看与此相关的其他词。# }' Y* k+ N' U0 ^" j
样本数据: - z( C' O9 R+ L8 H8 _- gtitle9 n4 W' g( U/ s9 K5 K1 e" p: ~
cheap cars for sale/ Z& ]- t6 [% }' B2 e
house for sale 1 m3 Y# }6 B9 ~/ ~1 r5 B- @/ Ccats and dogs for sale ( D1 u) O7 W# y+ {( Qiphones and androids for sale _" M+ B5 f$ {7 O q4 b/ Kcheap phones for sale ; Z, W( k( E! lhouse furniture for sale& j3 E/ b. F ]9 |
结果(单字): * [. A( I: T# w, E# Nfor 6% z8 T/ x! ?; @7 J
sale 69 x( E* S. w: p h3 F" }
cheap 2% l6 k3 @/ S; n( P( @6 U1 K
and 2" K$ B% l& K% T5 m( Y! q/ ^: Z
house 2 * @- _* e6 i. J6 p2 K8 X; ifurniture 1 : u' h! g& z1 k. F z6 \, fcars 1 0 v' a; ~+ K, \ \( x1 Vetc... 8 s X2 }. ~1 m- a) H: X( O N8 A5 ~% m2 a. ?8 O 解决方案:, R6 H3 ?# b: N- P# Z
, q3 S- G& E# n) s
D5 ?9 i6 @ g8 u5 T% a1 T3 g" q% B5 i/ E4 n
您可以通过一些字符串操作来提取单词。假设您有一个数字表,并且单词之间用单个空格分隔: . X! {* N3 e3 ?6 J9 `+ yselect substring_index(substring_index(r.title, ' ', n.n), ' ', -1) as word,8 ?; s. O# Z7 H0 Y+ h5 K' G
count(*). S, Y" o& |2 h, U, O N8 p
from results r join " W5 S! r. }5 O: c$ I& D numbers n$ V; i/ Y. d$ l: w+ p
on n.n 如果没有数字表,则可以使用子查询手动构造一个表: 2 M v2 [3 g7 |2 o/ Tfrom results r join & D8 Z9 _! A- A# e/ v/ s2 y (select 1 as n union all select 2 union all select 3 union all . . . , [6 z' g* A% c: f& C% t/ } ) n " C7 i0 F' w# P. ^+ a; R . . ./ \! z+ E8 `. {, N& N0 }. U2 h
SQL小提琴(由@GrzegorzAdamKowalski提供)在这里。