2014-01-22 3 views
0

Мне нужно преобразовать следующий (sql-доступ) в mysql. Это группа по первому запросу, но obv mysql не может обрабатывать первый или последний.Группа по первому запросу в MySql

SELECT First([20121202].Date) AS FirstOfDate, First([20121202].Time) AS FirstOfTime, [20121202].HomeMatchingId, [20121202].AwayMatchingId, [20121202].RunningStatus 
FROM 20121202 
GROUP BY [20121202].HomeMatchingId, [20121202].AwayMatchingId, [20121202].RunningStatus 
HAVING ((([20121202].RunningStatus)=1)) 

В основном я после того времени, когда игра (hometeam v awayteam) идет в игре (runningstatus = 1)

Заранее спасибо

+0

Просьба предоставить схему, данные образца и желаемый результат. – RedFilter

ответ

1

Не уверен, что дата для, но как насчет использования регулярных агрегатов?

SELECT 
    MIN(`Date`) AS `FirstOfDate`, 
    MIN(`Time`) AS `FirstOfTime`, 
    `HomeMatchingId`, 
    `AwayMatchingId`, 
    `RunningStatus` 
FROM `20121202` 
GROUP BY 
    `HomeMatchingId`, 
    `AwayMatchingId`, 
    `RunningStatus` 
HAVING 
    `RunningStatus`=1 
+0

Почему я это усложнял ....? Великий. Благодарю. нет необходимости в дате. – John

+0

Как бы добавить условие, при котором homematchingid не равен нулю PLS? я попытался добавить в оператор наличия, но он «не имеет» ни одного из них – John

+0

или действительно, где дата и время не равны нулю – John

1

Я полагаю, что цель first, чтобы получить самую раннюю дату. Если есть более одной строки на сегодняшний день, то вы можете сделать:

SELECT t.Date AS FirstOfDate, t.Time AS FirstOfTime, 
     t.HomeMatchingId, t.AwayMatchingId, t.RunningStatus 
FROM `20121202` t join 
     (select HomeMatchingId, AwayMatchingId, min(date) as mindate 
     from `20121202` 
     WHERE RunningStatus = 1; 
     group by HomeMatchingId, AwayMatchingId 
    ) tmin 
     on t.date = tmin.date and t.HomeMatchingId = tmin.HomeMatchingId and 
     tmin.AwayMatchingId and t.AwayMatchingId and 
WHERE RunningStatus = 1; 

Я переместил условие на RunningStatus к статье where, потому что это более эффективно.

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