Go Back   Forum Care Forums > Development Reference Area > MySQL Discussion

Reply
 
LinkBack Thread Tools Display Modes
display neighboring records?
Old
  (#1)
tonyberber
Guest
 
Posts: n/a
Default display neighboring records? - 06-04-2007, 07:58 AM

My database looks like this:

mysql> describe corpus;
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| ID | int(11) | NO | PRI | NULL | auto_increment |
| word | varchar(20) | YES | | NULL | |
| tag | varchar(20) | YES | | NULL | |
| lemma | varchar(20) | YES | | NULL | |
+-------+-------------+------+-----+---------+----------------+

Here's a section of it:

| 11298 | de | NP | de |
| 11299 | t?tulos | NP | <unknown> |
| 11300 | e | SYM | e |
| 11301 | documentos | NNS | <unknown> |
| 11302 | . | SENT | . |
| 11303 | ? | SYM | ? |
| 11304 | 2? | JJ | <unknown> |
| 11305 | A | DT | a |
| 11306 | conven??o | NN | <unknown> |
| 11307 | somente | NN | <unknown> |
| 11308 | obrigar? | NP | <unknown> |
| 11309 | os | NN | os |
| 11310 | filiados | NN | <unknown> |
| 11311 | ?s | NNS | <unknown> |
| 11312 | entidades | NNS | <unknown> |
| 11313 | signat?rias | NNS | <unknown> |
| 11314 | . | SENT | . |
| 11315 | ? | SYM | ? |
| 11316 | 3? | JJ | <unknown> |
| 11317 | N?o | NP | <unknown> |
| 11318 | se | FW | se |
| 11319 | exime | NP | <unknown> |
| 11320 | de | FW | de |
| 11321 | cumprir | NN | <unknown> |
| 11322 | a | DT | a |
| 11323 | conven??o | NN | <unknown> |
| 11324 | o | NN | o |
| 11325 | fornecedor | NN | <unknown> |
| 11326 | que | NP | que |
| 11327 | se | FW | se |
| 11328 | desligar | NP | <unknown> |
| 11329 | da | NP | da |
| 11330 | entidade | NN | <unknown> |
| 11331 | em | NN | em |
| 11332 | data | NNS | datum |
| 11333 | posterior | JJ | posterior |
| 11334 | ao | NN | <unknown> |
| 11335 | registro | NN | <unknown> |
| 11336 | do | VVP | do |
| 11337 | instrumento | NN | <unknown> |
| 11338 | . | SENT | . |


I would like to search for word and for each word display word
together with its 10 previous and its 10 subsequent records.

For example, if word='de', a search in the previous section should
return (lines added between hits):

------------------
| 11298 | de | NP | de |
| 11299 | t?tulos | NP | <unknown> |
| 11300 | e | SYM | e |
| 11301 | documentos | NNS | <unknown> |
| 11302 | . | SENT | . |
| 11303 | ? | SYM | ? |
| 11304 | 2? | JJ | <unknown> |
| 11305 | A | DT | a |
| 11306 | conven??o | NN | <unknown> |
| 11307 | somente | NN | <unknown> |
------------------
| 11310 | filiados | NN | <unknown> |
| 11311 | ?s | NNS | <unknown> |
| 11312 | entidades | NNS | <unknown> |
| 11313 | signat?rias | NNS | <unknown> |
| 11314 | . | SENT | . |
| 11315 | ? | SYM | ? |
| 11316 | 3? | JJ | <unknown> |
| 11317 | N?o | NP | <unknown> |
| 11318 | se | FW | se |
| 11319 | exime | NP | <unknown> |
| 11320 | de | FW | de |
| 11321 | cumprir | NN | <unknown> |
| 11322 | a | DT | a |
| 11323 | conven??o | NN | <unknown> |
| 11324 | o | NN | o |
| 11325 | fornecedor | NN | <unknown> |
| 11326 | que | NP | que |
| 11327 | se | FW | se |
| 11328 | desligar | NP | <unknown> |
| 11329 | da | NP | da |
| 11330 | entidade | NN | <unknown> |
---------------------

Thanks ahead for any help.

bye
tony

   
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

Re: display neighboring records?
Old
  (#2)
Zix
Guest
 
Posts: n/a
Default Re: display neighboring records? - 06-04-2007, 07:58 AM

tonyberber a écrit :
> My database looks like this:
>
> mysql> describe corpus;
> +-------+-------------+------+-----+---------+----------------+
> | Field | Type | Null | Key | Default | Extra |
> +-------+-------------+------+-----+---------+----------------+
> | ID | int(11) | NO | PRI | NULL | auto_increment |
> | word | varchar(20) | YES | | NULL | |
> | tag | varchar(20) | YES | | NULL | |
> | lemma | varchar(20) | YES | | NULL | |
> +-------+-------------+------+-----+---------+----------------+
>
> Here's a section of it:
>
> | 11298 | de | NP | de |
> | 11299 | t?tulos | NP | <unknown> |
> | 11300 | e | SYM | e |
> | 11301 | documentos | NNS | <unknown> |
> | 11302 | . | SENT | . |
> | 11303 | ? | SYM | ? |
> | 11304 | 2? | JJ | <unknown> |
> | 11305 | A | DT | a |
> | 11306 | conven??o | NN | <unknown> |
> | 11307 | somente | NN | <unknown> |
> | 11308 | obrigar? | NP | <unknown> |
> | 11309 | os | NN | os |
> | 11310 | filiados | NN | <unknown> |
> | 11311 | ?s | NNS | <unknown> |
> | 11312 | entidades | NNS | <unknown> |
> | 11313 | signat?rias | NNS | <unknown> |
> | 11314 | . | SENT | . |
> | 11315 | ? | SYM | ? |
> | 11316 | 3? | JJ | <unknown> |
> | 11317 | N?o | NP | <unknown> |
> | 11318 | se | FW | se |
> | 11319 | exime | NP | <unknown> |
> | 11320 | de | FW | de |
> | 11321 | cumprir | NN | <unknown> |
> | 11322 | a | DT | a |
> | 11323 | conven??o | NN | <unknown> |
> | 11324 | o | NN | o |
> | 11325 | fornecedor | NN | <unknown> |
> | 11326 | que | NP | que |
> | 11327 | se | FW | se |
> | 11328 | desligar | NP | <unknown> |
> | 11329 | da | NP | da |
> | 11330 | entidade | NN | <unknown> |
> | 11331 | em | NN | em |
> | 11332 | data | NNS | datum |
> | 11333 | posterior | JJ | posterior |
> | 11334 | ao | NN | <unknown> |
> | 11335 | registro | NN | <unknown> |
> | 11336 | do | VVP | do |
> | 11337 | instrumento | NN | <unknown> |
> | 11338 | . | SENT | . |
>
>
> I would like to search for word and for each word display word
> together with its 10 previous and its 10 subsequent records.
>
> For example, if word='de', a search in the previous section should
> return (lines added between hits):
>
> ------------------
> | 11298 | de | NP | de |
> | 11299 | t?tulos | NP | <unknown> |
> | 11300 | e | SYM | e |
> | 11301 | documentos | NNS | <unknown> |
> | 11302 | . | SENT | . |
> | 11303 | ? | SYM | ? |
> | 11304 | 2? | JJ | <unknown> |
> | 11305 | A | DT | a |
> | 11306 | conven??o | NN | <unknown> |
> | 11307 | somente | NN | <unknown> |
> ------------------
> | 11310 | filiados | NN | <unknown> |
> | 11311 | ?s | NNS | <unknown> |
> | 11312 | entidades | NNS | <unknown> |
> | 11313 | signat?rias | NNS | <unknown> |
> | 11314 | . | SENT | . |
> | 11315 | ? | SYM | ? |
> | 11316 | 3? | JJ | <unknown> |
> | 11317 | N?o | NP | <unknown> |
> | 11318 | se | FW | se |
> | 11319 | exime | NP | <unknown> |
> | 11320 | de | FW | de |
> | 11321 | cumprir | NN | <unknown> |
> | 11322 | a | DT | a |
> | 11323 | conven??o | NN | <unknown> |
> | 11324 | o | NN | o |
> | 11325 | fornecedor | NN | <unknown> |
> | 11326 | que | NP | que |
> | 11327 | se | FW | se |
> | 11328 | desligar | NP | <unknown> |
> | 11329 | da | NP | da |
> | 11330 | entidade | NN | <unknown> |
> ---------------------
>
> Thanks ahead for any help.
>
> bye
> tony
>


try this:

select T.*
from T
inner join
(
select t2.id
from T t1
inner join T t2
on t1.word = 'de' <- what you search
and t2.id between (t1.id - 9) and (t1.id + 9)
group by t2.id
) X
on T.id = X.id


(where T is your table name)
Zix.
   
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Re: display neighboring records?
Old
  (#3)
Willem Bogaerts
Guest
 
Posts: n/a
Default Re: display neighboring records? - 06-04-2007, 07:58 AM

Look up the HANDLER statement in the documentation.

Best regards,
--
Willem Bogaerts

Application smith
Kratz B.V.
http://www.kratz.nl/
   
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On





Contact Us - Forum Care Forums - Archive - Top