Article View: pl.comp.bazy-danych
Article #183057Re: mysql i MAX
From: Paweł Matejski
Date: Tue, 23 Jun 2009 11:51
Date: Tue, 23 Jun 2009 11:51
29 lines
2684 bytes
2684 bytes
Piotr Keplicz wrote: > Paweł Matejski: >>> 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 dopóki nie zaczniesz mieszać w tabeli (dodawać i kasować >> wiersze). > > A w praktycznych zastosowaniach bazodanowych istnieje jakaś istotna różnica > pomiędzy porządkiem "nieokreślonym" a "losowym"? Oczywiści. Weźmy taki przykład: y - treść reklamy, z - cena jaką reklamodawca oferuje za reklamę. No i zasada, którą realizuje podobne zapytanie do tego - prezentować jedną reklamy wśród tych, którzy oferują najwyższą cenę. select y,z from t order by z desc limit 1 I załóżmy, że masz 3 reklamy z najwyższą ceną. Jak nic nie zmienisz w tabeli t, to w na 99% będzie się wyświetlała cały czas ta sama reklama. A poza tym rozmawiamy o dochodzeniu do pewnych wniosków na podstawie sprawdzania doświadczalnego. W przypadku tego zapytania, jeśli wprowadzimy nie takie dane jak trzeba, to mamy spore szanse dojść do błędnych wniosków, niezależnie od tego ile razy wykonamy select. -- P.M.
Technical Details
Message-ID:
<u6s6h6-8uv.ln1@nixxie.mibm>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mailReferences:
<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> <r8e5h6-dn8.ln1@nixxie.mibm> <h1q356$52k$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 13:51:25 +0200 Organization: "Portal Gazeta.pl -> http://www.gazeta.pl" Lines: 29 Message-ID: <u6s6h6-8uv.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> <r8e5h6-dn8.ln1@nixxie.mibm> <h1q356$52k$1@nemesis.news.neostrada.pl> NNTP-Posting-Host: fcu34.internetdsl.tpnet.pl Mime-Version: 1.0 X-Trace: inews.gazeta.pl 1245758883 14951 83.13.72.34 (23 Jun 2009 12:08:03 GMT) X-Complaints-To: usenet@agora.pl NNTP-Posting-Date: Tue, 23 Jun 2009 12:08:03 +0000 (UTC) X-User: madejp In-Reply-To: <h1q356$52k$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