SQL / mysql - выбрать отдельный / уникальный, но вернуть все столбцы? - PullRequest
336 голосов
/ 25 мая 2011
SELECT DISTINCT field1, field2, field3, ......   FROM table

Я пытаюсь выполнить следующую инструкцию sql, но хочу, чтобы она возвращала все столбцы, возможно ли это?Что-то вроде:

SELECT DISTINCT field1, * from table

Ответы [ 16 ]

0 голосов
/ 25 ноября 2016

Это можно сделать по внутреннему запросу

$query = "SELECT * 
            FROM (SELECT field
                FROM table
                ORDER BY id DESC) as rows               
            GROUP BY field";
0 голосов
/ 06 октября 2014

Добавьте GROUP BY в поле, которое вы хотите проверить на наличие дубликатов, ваш запрос может выглядеть так:

SELECT field1, field2, field3, ......   FROM table GROUP BY field1

Поле1 будет проверено, чтобы исключить повторяющиеся записи

или вы можете запросить как

SELECT *  FROM table GROUP BY field1

дубликаты записей field1 исключаются из SELECT

0 голосов
/ 06 августа 2014

SELECT DISTINCT FIELD1, FIELD2, FIELD3 FROM TABLE1 работает, если значения всех трех столбцов являются уникальными в таблице.

Если, например, у вас есть несколько одинаковых значений для имени, но фамилия и другая информация в выбранных столбцах отличаются, запись будет включена в набор результатов.

0 голосов
/ 16 октября 2013
SELECT *
FROM tblname
GROUP BY duplicate_values
ORDER BY ex.VISITED_ON DESC
LIMIT 0 , 30

в ORDER BY я только что привел пример, вы также можете добавить поле ID в этом

0 голосов
/ 25 июня 2013

Просто включите все ваши поля в предложение GROUP BY.

0 голосов
/ 20 июля 2012
SELECT * from table where field in (SELECT distinct field from table)
...