интересн проблем с sql заявка

3 отговора 330 прегледа
#1

интересн проблем с sql заявка

Имам една проста табличка, да речем с три колони id и data и dummy. Например:
id,data,dummy
1 3 sdfsdf
2 4 sdfd
3 3 aad
4 5 d
5 3 a123
6 4 d

Всичко беше наред докато не ми се наложи да я допълня с четвърта (информационна) колонка, която показва колко общо са записите със същата стойност на колонката data, т.е:

id,data,dummy,repeated
1 3 sdfsdf 3
2 4 sdfd 2
3 3 aad 3
4 5 d 1
5 3 a123 3
6 4 d 2

Е, помислих малко и стигна до 'гениалната' идея:
select n1.*, count(n2.data) from tbl n1, tbl n2 where n1.id=n2.id group by n2.data

Гениално, обаче не върши работа по простата причина, че вместо желания резултат връща

id,data,dummy,repeated
1 3 sdfsdf 3
2 4 sdfd 2
4 5 d 1

Разбира се след слекунди видях и причината, но нещо в момента не ми идва идея как да го преодолея (не искам вложени заявки; базата е Mysql).. както се казва - any ideas

Отговор
в отговор на kaпитaнчo #2

Re: интересн проблем с sql заявка

Iskam samo da ti kaja 4e tova

select *,count(datta) from tbl
group by datta

Dava absoliutno sushtiq rezultat kato tova koeto ti predlagash!
A za tova koeto pitash ne se seshtam.
A i ne razbrah pishesh 4e ti trqbva novo pole? Trqbva li taq poslednata kolonka da q dobavish v tablicata kato novo pole ili ti trqbva samo v zaqvka da go izchislish ??

Отговор
в отговор на silvig #3

Re: интересн проблем с sql заявка

Съгласен съм, че и заявката която предлагаш върши същата работа... т.е както и моята не ми помага:))

А иначе не ми трябва да я добавям към таблицата, а просто да я извлека..
Както и да е, май без вложена заявка не минава номера

Отговор
в отговор на kaпитaнчo #4

Re: интересн проблем с sql заявка

Ами според мен няма да стане без вложени заявки
А защо не искаш да използваш вложени заявки всъщност ?

Отговор