sharedid property shareduser shareddatetime
111 32 129 2015-02-02 13:30:44
117 33 129 2015-02-02 13:41:21
119 33 129 2015-02-02 13:40:44
В приведенной выше таблице я показываю результат, который у меня есть. Теперь я хочу получить свой результат, например, если shareduser должен быть 129, а shareddatetime - минимальным с группой по столбцу свойств. Я побежал по указанному ниже запрос,GROUP BY с условием предложения и min в sql
SELECT * FROM sharing WHERE `shareduser` = 129 GROUP BY property HAVING min(shareddatetime)
результат:
sharedid property shareduser shareddatetime
111 32 129 2015-02-02 13:30:44
117 33 129 2015-02-02 13:41:21
Но ожидаемый результат не приходит с мин(). Я хочу привести как
sharedid property shareduser shareddatetime
111 32 129 2015-02-02 13:30:44
119 33 129 2015-02-02 13:40:44
'MIN' не делает то, вы думаете, что он делает это, он просто выбирает самое низкое значение для столбца в сгруппированных данных - и в этом случае вы, фактически не выбирая его; вам понадобится 'SELECT MIN (shareddatetime), совместное использование. *' или аналогичное. 'HAVING MIN (shareddatetime)' в основном утверждает, что должно существовать 'MIN (shareddatetime)' ... что, конечно же, есть. – CD001