MySQL, выберите строки, где значение параметра зависит от значения, которое он имеет в другой строке - PullRequest
0 голосов
/ 20 октября 2011

У меня есть таблица, в которой я могу найти тот же параметр в последующих строках (см. Пример A). Мне нужен запрос, чтобы выбрать только те строки, где значение отличается от предыдущей строки (см. Пример B), что-то вроде

SELECT * FROM tableName WHERE Par(id)!=Par(id-1)

Это не должно быть сложно, но я новичок в MySQL (и базах данных в целом), и я не нашел команду или пример для этого.

Example A       Example B
*********       *********
*ID *Par*       **ID*Par*
*********       *********
*1  * a *       *5  * a *
*2  * a *       *6  * g *
*3  * a *       *7  * f *
*4  * a *       *8  * d *
*5  * a *       *9  * f *
*6  * g *       *10 * h *
*7  * f *       *11 * j *
*8  * d *       *12 * f *
*9  * f *       *17 * f *
*10 * h *       *18 * d *
*11 * j *       *19 * s *
*12 * f *       *20 * g *
*13 * f *       *21 * t *
*14 * f *       *22 * g *
*15 * f *
*16 * f *
*17 * f *
*18 * d *
*19 * s *
*20 * g *
*21 * t *
*22 * g *

Ответы [ 2 ]

3 голосов
/ 20 октября 2011

Попробуйте это:

SELECT t.id,t.par FROM your_table t
WHERE t.par <> 
    (SELECT par FROM your_table
     WHERE id = t.id + 1)
0 голосов
/ 20 октября 2011

SELECT DISTINCT Par FROM table_name

http://www.w3schools.com/sql/sql_distinct.asp

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...