У меня есть база данных, в которой будут храниться события. Каждое событие имеет разные виды деятельности. База данных сделана так (я знаю, что это не лучший дизайн базы данных, но я работаю с тем, что мне дали):
eventID | date | eventname | activity
___________________________________________
0001 | 01/01/2012 | name1 | activty1
0002 | 01/01/2012 | name1 | activty2
0003 | 01/05/2012 | event2 | activty1
0004 | 01/05/2012 | event2 | activty2
0005 | 01/07/2012 | name1 | activty1
Одно и то же событие может иметь несколько действий. Единственный способ получить все записи из события (действия) - это столбец с именем события.
Я пытаюсь получить последние 20 событий со всеми своими действиями. Поэтому я не могу просто выбрать 20 строк (используя LIMIT
, так как это не даст мне 20 событий каждый раз, поскольку некоторые события имеют 2 действия, а другие 10).
Я не могу использовать SELECT DISTINCT eventname
, потому что некоторые события имеют одно и то же имя в разные даты. Мне нужно иметь отдельное имя события, только если дата отличается.
Я потерян для идей.
Спасибо.