Article View: pl.comp.bazy-danych
Article #194474Re: 2 limity
From: merlin
Date: Mon, 08 Jun 2015 14:59
Date: Mon, 08 Jun 2015 14:59
46 lines
2766 bytes
2766 bytes
On Friday, 5 June 2015 16:33:40 UTC+2, Leszek Zur wrote: > Baza MySQL. > Mam tabelę z kolumnami: państwo, miasto, mieszkancy. > W tabeli mieszkańcy podana jest ilość mieszkańców danego miasta. > Chce napisać zapytanie, które zwróci mi tą tabelę ale z 2 limitami. > Chcę, żeby zwróciło mi maksimum x miast ale żeby z każdego państwa było > maksimum y miast o największej liczbie mieszkańców. > > Przykładowo dla x=5 i y=2 i następującej tabeli: > Francja Paryż 2000 > Francja Lille 500 > Polska Warszawa 1000 > Polska Wrocław 700 > Polska Opole 500 > Niemcy Berlin 2000 > Niemcy Dortmund 1000 > Włochy Rzym 1500 > > chcę żeby odrzuciło mi Opole (bo przekroczony y dla Polski), oraz > Dortmund i Rzym (bo przekroczony x). > Do tej pory robiłem zapytanie o listę wszystkich państw, dla każdego > państwa pobierałem listę największych miast ograniczoną przez y, > zliczałem ile już mam miast i jak osiągnąłem x to kończyłem. > > Może da się to zapisać jako jedno zapytanie, które będzie pewnie szybsze > od serii wielu mniejszych ? > > Leszek Ciepło? mysql> select * from miasta having populacja > 500 order by 3 desc ; +---------+----------+-----------+ | panstwo | miasto | populacja | +---------+----------+-----------+ | Francja | Paryz | 2000 | | Niemcy | Berlin | 2000 | | Wlochy | Rzym | 1500 | | Polska | Warszawa | 1000 | | Niemcy | Dortmund | 1000 | | Polska | Wroclaw | 700 | +---------+----------+-----------+ 6 rows in set (0,00 sec) Pawel Socha
Technical Details
Message-ID:
<738cba05-7f80-4922-a4cb-cc80f1bcada8@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.glorb.com!h15no108915igd.0!news-out.google.com!4ni35qgh.1!nntp.google.com!z60no22670qgd.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mailReferences:
<mksc06$7v5$1@news.vectranet.pl>Show Full Headers
Complete Article Headers
X-Received: by 10.182.91.37 with SMTP id cb5mr25264769obb.13.1433775541428; Mon, 08 Jun 2015 07:59:01 -0700 (PDT) X-Received: by 10.140.102.172 with SMTP id w41mr187702qge.40.1433775541326; Mon, 08 Jun 2015 07:59:01 -0700 (PDT) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.glorb.com!h15no108915igd.0!news-out.google.com!4ni35qgh.1!nntp.google.com!z60no22670qgd.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: pl.comp.bazy-danych Date: Mon, 8 Jun 2015 07:59:01 -0700 (PDT) In-Reply-To: <mksc06$7v5$1@news.vectranet.pl> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=83.142.191.130; posting-account=HoFbbgoAAADk9PiSSyuCtJ0a1diNx9XV NNTP-Posting-Host: 83.142.191.130 References: <mksc06$7v5$1@news.vectranet.pl> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <738cba05-7f80-4922-a4cb-cc80f1bcada8@googlegroups.com> Subject: Re: 2 limity From: merlin <pawel.socha@gmail.com> Injection-Date: Mon, 08 Jun 2015 14:59:01 +0000 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit