|
Тема |
Re: Разделяне на резултата? [re: mysql] |
|
Автор |
VladoR (любител) |
|
Публикувано | 03.01.06 14:16 |
|
|
Абе комплексар смотан, ето ти го написан на аксески SQL (не за друго, ами дори няма нужда да го "пишеш" ... ![](http://i.dirbg.com/clubs/icons/laugh.gif)
Не съм си играл да наподобявам твоята структурка с 2 свързани таблици и не съм използвал твоите полета, щото не това е целта на упражнението ...
------------------------------------------------------------------------------------
SELECT TOP 3 Table1.TITEL, Sum(Table1.BGN) AS SumOfBGN
FROM Table1
GROUP BY Table1.TITEL
ORDER BY Table1.TITEL
UNION ALL SELECT "OTHERS" AS TITEL, Sum(Table1.BGN) AS SumOfBGN
FROM Table1
WHERE (((Table1.TITEL) Not In (SELECT TOP 3 Table1.TITEL FROM Table1 GROUP BY Table1.TITEL ORDER BY Table1.TITEL)))
GROUP BY "OTHERS"
------------------------------------------------------------------------------------
И сега, отворко, още 2 неща от мен:
1. Колкото и дълго да си търсил топлата вода, то тя вече е измислена от други.
2. Това, че ти си търсил топлата вода безкрайно дълго време за твое най-голямо разочарование не я прави по-топла.
Ако си мислиш че използването на операторите
§ TOP (независимо от локалните му наименования),
§ UNION ALL (нямам идея, дали правиш разлика между UNION и UNION ALL),
§ IN и/или NOT IN и
§ WHERE с критерий подзаявка
е върха на сладоледа, то имаш още много хляб да изядеш, преди да придобиеш сурат да обиждаш наляво и надясно на тема познания по SQL.
П.С. Ах ... пардон, голяма грешка ... ![](http://i.dirbg.com/clubs/icons/blush.gif) ![](http://i.dirbg.com/clubs/icons/blush.gif) ... в заявката се извличат само първите 3 записа и после следва сумата на всички останали ![](http://i.dirbg.com/clubs/icons/blush.gif) ![](http://i.dirbg.com/clubs/icons/blush.gif) . Сега отивам да си посипя главата с пепел и да мисля, как ще стане за 10 записа ... че колкото повече, сигурно толкова по-трудно ...Редактирано от VladoR на 03.01.06 14:24.
|
| |
|
|
|