Il comportamento che voglio replicare è come grep con le bandiere -A
e -B
. ad esempio grep -A 2 -B 2 "hello" myfile.txt
mi darà tutte le linee che hanno "Ciao" in esse, ma anche 2 righe prima e 2 righe dopo di essa. Assumiamo questo schema di tabella:SELEZIONA N righe prima e dopo la riga che corrisponde alla condizione?
+--------+-------------------------+
| id | message |
+--------+-------------------------+
| 1 | One tow three |
| 2 | No error in this |
| 3 | My testing message |
| 4 | php module test |
| 5 | hello world |
| 6 | team spirit |
| 7 | puzzle game |
| 8 | social game |
| 9 | stackoverflow |
|10 | stackexchange |
+------------+---------------------+
Ora una query come: Select * from theTable where message like '%hello%'
si tradurrà in:
5 | hello world
Come posso mettere un altro parametro "N" che seleziona N righe prima, e N righe dopo il record corrispondente, ovvero per N = 2, il risultato dovrebbe essere:
| 3 | My testing message |
| 4 | php module test |
| 5 | hello world |
| 6 | team spirit |
| 7 | puzzle game |
- Per semplicità, supponiamo che "come% TERM%" corrisponda solo a 1 riga.
- Qui il risultato deve essere ordinato sul campo di incremento automatico
id
.
almeno specificare un ordinamento .. –
hi yi_H, la sua specificato come ultimo punto nella questione – DhruvPathak
sarà la tua prima dichiarazione/interrogazione sempre restituire solo una riga? o può restituire anche più righe? –