column number as column alias in postgres

December 8th, 2008

I have seen such queries many times:


SELECT foo, bar, (some long and complicated SQL subexpression), count(*)
FROM somewhere
GROUP BY foo,bar, (some long and complicated SQL subexpression)
ORDER BY count(*) DESC

This has some drawbacks:

  • you have to repeat exactly the same expression two times, which makes query longer
  • it is easier to make a mistake while editing the subexpression

Did you know there’s a neat shortcut for this in postgres?


SELECT foo, bar, (some long and complicated SQL subexpression), count(*)
FROM somewhere
GROUP BY 1,2,3
ORDER BY 4 DESC

This is known as column number aliases.
I have no idea if this comes from SQL standard or not.
But it saves me quite a lot of typing :)

I know it works at least in postgresql, mysql and informix.
Does it work in your database, too?

uważaj co czytasz!

December 3rd, 2008

Siadasz na ławce w parku w Warszawie. Leży jakaś teczka. Otwierasz. Czytasz.
KABOOM, wpada dajmy na to ABW, aresztuje i wsadza cię na 2 lata do kicia.

Albowiem art. 267 Kodeksu Karnego po ostatnich nowelizacjach zawiera taki sympatyczny paragraf (podaję za vaglą):

§ 1. Kto bez uprawnienia uzyskuje dostęp do infor­macji dla niego nieprzeznaczonej, otwierając zamknięte pismo, podłączając się do sieci telekomunikacyjnej lub przełamując albo omijając elektroniczne, magnetyczne, infor­ma­tyczne lub inne szczególne jej za­bez­pieczenie,
podlega grzywnie, karze ograniczenia wol­ności albo pozbawienia wolności do lat 2.

połączmy to z zasadą że brak znajomości prawnego stanu rzeczy nie zwalnia od odpowiedzialności…

no ładnie, ładnie… prawda?

Chyba niedługo będziesz mógł przeczytać tylko to co sam kupisz - albo reklamy!
Bo cała reszta przecież jest infor­macją dla ciebie nieprzeznaczoną.

Jedno jest pewne. Państwa tzw. “Zachodu” (inne pewnie też ale nie wiem) stopniowo zacieśniają kontrolę nad informacją swoich obywateli. Zacieśniają kontrolę nad Tobą. Rzadko gdzie widać odwrócenie tej tendencji. Chyba jedynym sposobem rozwalenia tych okowów jest rozwalenie państwa.

Myślałeś że wyrosłeś z anarchizmu? A może do niego się dorasta?

Dziecinne pytania

December 3rd, 2008

Za: donosy nr 4785:

Unia Europejska

pozwala Polske do Europejskiego Trybunalu Sprawiedliwosci za stosowanie -
mimo wielokrotnych napomnien - obnizonej (7%) stawki VAT na ubranka i
buciki dzieciece (zamiast 22%).

To nie pierwsza sprawa z dostosowywaniem stawek VAT do UE.

Ale tak chodzi po głowie: czy ktokolwiek jest w stanie to uzasadnić? skąd to się wzięło? czy (i kiedy) zniknie? kto jest za a kto przeciw i w ogóle kto za tym wszystkim stoi?

Dziecinne pytania. Odpowiedzi dobrze znane. Sprawiedliwe rozwiązanie - proste i oczywiste. a rzeczywistość skrzeczy.

Ech.

praca domowa:

Google no more so cool

December 2nd, 2008

It used to work. 2 months ago it stopped and now it’s still broken.

bash $ /usr/bin/lynx -dump -cookies 'http://www.google.com/search?q=d_dosuid'

   Google
            Error

                                  Bad Request

     Your client has issued a malformed or illegal request.

bash $ GET -de 'http://www.google.com/search?q=d_dosuid'
Cache-Control: private, x-gzip-ok=""
Connection: Close
Date: Tue, 30 Sep 2008 10:08:02 GMT
Server: gws
Content-Type: text/html; charset=UTF-8
Content-Type: text/html;charset=utf-8
Client-Date: Tue, 30 Sep 2008 10:11:37 GMT
Client-Peer: 209.85.135.103:80
Client-Response-Num: 1
Client-Transfer-Encoding: chunked
Title: 403 Forbidden

BLAH. BAD GOOGLE.

Not so easy

December 2nd, 2008

Some things still need creativity - they are simply not solvable by a web search.

Example:

Ouch. Fantasy? Or did I just hit an adword?

Anyway, it’s not cool.