|
|
|
подзапрос или вложенная таблица.
|
|||
|---|---|---|---|
|
#18+
допустим таблица дата / фрукт 1 января / яблоко 1 января / мандарин 1 января / яблоко 2 января / яблоко 2 января / мандарин 3 января / яблоко и т.д. уникальных полей нет каждая строка - отдельная единица. Допустим учитывается каждая штука/ящик. вобщем суть такова - надо получить, сколько разновидностей фруктов каждый день. делаем так: select дата,COUNT(*) from table group by дата Получаем: сколько всего фруктов каждый день, но не разновидностей (нет уникальности по второму полю. COUNT(фрукт) - ничего не меняет. делаем так: select дата,фрукт,COUNT(*) from table group by дата,фрукт Получаем для каждого дня список фруктов с количеством каждого фрукта на текущий день. НО, мне не нужен список фруктов, мне нужна величина этого списка для каждого дня. Т.е. фактически из уже полученного результата-таблица я должен зделать новый select где будет group by дата Если говорить на "ломанном русском", то дожно быть что-то вроде select дата,COUNT(*) from (select дата,фрукт,COUNT(*) from table group by дата,фрукт) group by дата; мускуль(4.1) в ответ на это послал меня нафиг: Every derived table must have its own alias Должен быть алиас временный таблицы, как я понял, но что-то не воткну, как Неужели придется создавать временную таблицу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2005, 23:15 |
|
||
|
подзапрос или вложенная таблица.
|
|||
|---|---|---|---|
|
#18+
достаточно было после скобки, закрывающей подзапрос, поставить что-нить типа: as temp ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2005, 23:24 |
|
||
|
подзапрос или вложенная таблица.
|
|||
|---|---|---|---|
|
#18+
select дата, count(distinct фрукт) from table group by дата И никаких подзапросов) "Прежде чем убить человека, узнай, нет ли у него влиятельных родственников" (с) Библия ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2005, 23:47 |
|
||
|
подзапрос или вложенная таблица.
|
|||
|---|---|---|---|
|
#18+
гениально. Спасибо, как-то не подумал. Но есть один нюанс. такое выполняется почти в 2 раза дольше. Индексировать что-либо очень не хочется, т.к. строк оооочень много и таблица на диске и без того уже весит прилично. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2005, 00:17 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=32853957&tid=1854461]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
179ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 498ms |

| 0 / 0 |
