выберите первую и последнюю строку, которые имеют одинаковое значение

У меня есть таблица SQL, которая имеет 3 столбца (идентификатор, имя, дата и время).

Вот краткий пример:

ID  |     Name    |        Datetime         |
=============================================
1   |  Test 1     |   2014-09-22 22:27:24   |
2   |  Test 223   |   2014-09-22 22:27:24   |
3   |  Test FAS   |   2014-09-22 22:27:24   |
4   |  Test SSA   |   2014-09-22 22:31:18   |
5   |  Test SSA   |   2014-09-22 22:31:18   |
6   |  Test SSA   |   2014-09-22 22:31:18   |
7   |  Test SSA   |   2014-09-22 22:31:18   |
8   |  Test SSA   |   2014-09-22 22:31:18   |

Для всех записей, имеющих одинаковый Datetime, мне нужен первый идентификатор (с которого начинается этот datetime), а также последний идентификатор (где этот datetime используется в последний раз).

Я пытаюсь найти правильную команду SQL, чтобы получить этот результат и создать массив следующим образом:

[0] => Array
(
[start] => 1
[end] => 3
[date] => 2014-09-22 22:27:24
)
[1] => Array
(
[start] => 4
[end] => 8
[date] => 2014-09-22 22:31:18
)

Может кто-нибудь дать мне решение, как создать эту команду SQL?

Спасибо!

0

Решение

SELECT
MIN(ID) AS start,
MAX(ID) AS end,
COUNT(*) AS how_many,
`Datetime`
FROM
your_table
GROUP BY `Datetime`
3

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector