🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.bazy-danych
Article #194474

Re: 2 limity

#194474
From: merlin
Date: Mon, 08 Jun 2015 14:59
46 lines
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-mail
References: <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