Мне нужна помощь с запросом, чтобы найти повторяющиеся строки по определенному значению. Я перепробовал много запросов, но не нашел. А пока у меня есть это.

Моя структура sql:

  id INT(11) NOT NULL AUTO_INCREMENT,
  vrijeme TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  pocetni_broj VARCHAR(55) DEFAULT NULL,
  zamjenski_broj VARCHAR(55) DEFAULT NULL,
  glavni_broj VARCHAR(55) DEFAULT NULL,
  postoji_zamjena INT(1) DEFAULT NULL,
  PRIMARY KEY (id)

И мой запрос:

SELECT *
FROM zamjene_brojeva
GROUP BY glavni_broj
HAVING COUNT(glavni_broj) > 1

Это дает мне все повторяющиеся значения в таблице. Но как найти повторяющиеся значения, в которых столбец glavni_broj имеет значение 966 45 19-68? Я знаю, что в glavni_broj есть 4 строки с таким значением. Я попытался указать где это, но запрос не выполняется.

Есть идеи, как это сделать?

0
Budimir 27 Окт 2015 в 11:33

2 ответа

Лучший ответ

Так что просто включите туда, где хотите. наличие будет переоценено, и вы должны получить свои 4 записи

SELECT *
FROM zamjene_brojeva
WHERE glavni_broj = '966 45 19-68'
GROUP BY glavni_broj
HAVING COUNT(glavni_broj) > 1

Это вернет только одну строку, если вы хотите, чтобы все значения были, затем используйте group_concat () в своих столбцах, чтобы увидеть значения

Начать с простого запроса

SELECT *
FROM zamjene_brojeva
WHERE glavni_broj = '966 45 19-68'

Теперь, если это вернет строки, посмотрите, сколько вернется. вы также можете определить, сколько строк содержит glavni_broj = '966 45 19-68', посчитав

SELECT count(*)
FROM zamjene_brojeva
WHERE glavni_broj = '966 45 19-68'

Который перечислит каждую строку, где glavni_broj = '966 45 19-68'

убедитесь, что на самом деле существует несколько строк со значением "966 45 19-68"

0
John Ruddell 27 Окт 2015 в 09:08

Почему это тебе не помогает?

SELECT *
FROM zamjene_brojeva
WHERE glavni_broj = "966 45 19-68";
0
Serhat Akay 27 Окт 2015 в 08:53