🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: mysql i MAX

#183055
From: Paweł Matejski
Date: Mon, 22 Jun 2009 22:47
30 lines
2452 bytes
Piotr Keplicz wrote:
> Jacek:
>>>> Do tego nie trzeba mądrej głowy. Wystarczy stworzyć tabelę i uruchomić
>>>> zapytanie. Wynik zapytania da odpowiedź na pytanie. Nie trzeba też
>>>> czytać dokumentacji.
>>> Można też rzucić monetą - szybciej, a wynik równie pewny.
>> Ano mozna, ale czy problemem jest stworzyc tabele o 3 kolumnach i 5-ciu
>> wierszach i przetestowac powyzsze zapytanie?
>> Czyz nie testuje sie w ten sposob roznego typu problemow?
>> Jezeli dla 5-ciu wierszy zadziala prawidlowo, to dla miliona zadziala
>> rowniez dobrze, prawda?
> 
> Nie.
> 
> SELECT x, y, MAX(z) FROM t GROUP BY x
> 
> Po pierwsze, zadziała to bodaj tylko w MySQL.
> Po drugie, sposób wyboru y jest nieokreślony. Skąd to wiadomo? Podpowiada to 
> zdrowy rozsądek i dokumentacja.
> Biorąc pod uwagę losowość wyboru y, prosty test może doprowadzić do błędnych 
> wniosków.

W tym sęk, że wynik nie jest losowy, a nieokreślony. MySQL nie losuje wierszy, ale zwraca je tak jak mu "wygodniej". W
efekcie możesz dostawać identyczne wyniki dopuki nie zaczniesz mieszać w tabeli (dodawać i kasować wiersze).

A do pytającego - dokumentacje warto czytać. Można się z niej dowiedzieć po co taka konstrukcja jest i kiedy warto jej
używać (opisane jest to chyba przy okazji GROUP BY).

-- 
P.M.
Technical Details
Message-ID: <r8e5h6-dn8.ln1@nixxie.mibm>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
References: <h1nvf2$cki$1@news.onet.pl> <h1o0n5$8d9$1@nemesis.news.neostrada.pl> <h1o08l$f3n$1@news.onet.pl> <h1o9j5$qlq$1@inews.gazeta.pl> <h1oc5s$odv$1@nemesis.news.neostrada.pl> <o7j31sa417m1$.xamtmz7sdf91$.dlg@40tude.net> <h1og2t$11j$1@nemesis.news.neostrada.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: Paweł Matejski <madej@nospam.madej.pl.eu.org>
Newsgroups: pl.comp.bazy-danych
Subject: Re: mysql i MAX
Date: Tue, 23 Jun 2009 00:47:23 +0200
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 30
Message-ID: <r8e5h6-dn8.ln1@nixxie.mibm>
References: <h1nvf2$cki$1@news.onet.pl> <h1o0n5$8d9$1@nemesis.news.neostrada.pl> <h1o08l$f3n$1@news.onet.pl> <h1o9j5$qlq$1@inews.gazeta.pl> <h1oc5s$odv$1@nemesis.news.neostrada.pl> <o7j31sa417m1$.xamtmz7sdf91$.dlg@40tude.net> <h1og2t$11j$1@nemesis.news.neostrada.pl>
NNTP-Posting-Host: fcu34.internetdsl.tpnet.pl
Mime-Version: 1.0
X-Trace: inews.gazeta.pl 1245712084 335 83.13.72.34 (22 Jun 2009 23:08:04 GMT)
X-Complaints-To: usenet@agora.pl
NNTP-Posting-Date: Mon, 22 Jun 2009 23:08:04 +0000 (UTC)
X-User: madejp
In-Reply-To: <h1og2t$11j$1@nemesis.news.neostrada.pl>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.9) Gecko/20080110 Thunderbird/2.0.0.9 Mnenhy/0.7.4.666
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit