2016-06-18 4 views
1

У меня есть эта таблица структурыMySQL запись сортировки проблема

leadid agentid datetime   ip 
    1  6 2016-06-17 12:55:48 127.0.0.1 
    5  6 2016-06-17 12:56:26 127.0.0.1 
    9  6 2016-06-17 12:58:18 127.0.0.]. 
    13  6 2016-06-17 12:58:19 127.0.0.1 
    17  6 2016-06-17 12:58:20 127.0.0.1 
    2  7 2016-06-17 12:55:54 127.0.0.1 
    6  7 2016-06-17 12:56:32 127.0.0.1 
    10  7 2016-06-17 12:58:18 127.0.0.1 
    14  7 2016-06-17 12:58:19 127.0.0.1 
    18  7 2016-06-17 12:58:20 127.0.0.1 
    3  8 2016-06-17 12:55:56 127.0.0.]. 
    7  8 2016-06-17 12:58:18 127.0.0.1 
    11  8 2016-06-17 12:58:19 127.0.0.1 
    15  8 2016-06-17 12:58:20 127.0.0.1 
    19  8 2016-06-17 12:58:21 127.0.0.1 
    4  9 2016-06-17 12:56:22 127.0.0.1 
    8  9 2016-06-17 12:58:18 127.0.0.1 
    12  9 2016-06-17 12:58:19 127.0.0.1 
    16  9 2016-06-17 12:58:20 127.0.0.1 
    20  9 2016-06-17 12:58:21 127.0.0.1 

я хочу, чтобы выбрать одну запись для каждого agentid где DateTime сортируется в порядке возрастания , например agentid 6 с DateTime 2016-06-17 12:55 : 48 должно быть выбрано, а для агента 7 дата и время 2016-06-17 12:55:54 должно быть выбрано

можно ли это сделать одним запросом?

я знаю оленью кожу запроса имеет смысл, но только, чтобы объяснить, что я хочу сделать

SELECT COUNT(agentid) 
    , `agentid` 
    , `datetime` 
    FROM leadassignment 
GROUP 
    BY agentid 
ORDER 
    BY datetime ASC 

Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'timeshareleads.leadassignment.datetime' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by 
+0

@Strawberry, как вы сделали редактирование, как вы преобразовали изображение в текст? –

+1

Я использовал OneNote. – Strawberry

+0

@Strawberry, Интересно, позвольте мне проверить это, спасибо! –

ответ

3

Вы можете использовать MIN функции, которая закачает вам минимальный DateTime для каждого agentid.

SELECT count(agentid), `agentid`, min(`datetime`) as 'datetime' 
FROM leadassignment 
GROUP BY agentid 
+1

спасибо, что это сработало :) –

Смежные вопросы