java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/dao/PodnikDAO.sql.xml
author František Kučera <franta-hg@frantovo.cz>
Tue Apr 27 17:16:57 2010 +0200 (2010-04-27)
changeset 109 374ec52b5b69
parent 108 f74a9fc683da
child 118 1c52b1a4a18a
permissions -rw-r--r--
Komentáře k SQL.
     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
     3 <properties>
     4     <entry key="HLASOVANI_INSERT">
     5 	INSERT INTO hlasovani
     6 	(podnik, hlas, ip_adresa)
     7 	VALUES (:podnik, :hlas, :ip_adresa);
     8     </entry>
     9     <entry key="HLASOVANI_SELECT">
    10 	<!--
    11 	    Osoby identifikujeme na základě IP adres.
    12 	    Každá osoba může hlasovat kolikrát chce.
    13 	    Ale do výsledků se počítá vždy jen její poslední hlas.
    14 	    TODO: možná upravit tak, aby se počítal jeden hlas od jedné osoby za každý den
    15 	    (bylo by možné efektivně hlasovat víckrát – každý den jednou).
    16 	-->
    17 	SELECT	hlas,
    18 	    int4(count(*))
    19 	FROM (
    20 	    SELECT DISTINCT ON (ip_adresa)
    21 		hlas
    22 	    FROM hlasovani
    23 	    WHERE podnik = :podnik
    24 	    ORDER BY ip_adresa, id DESC
    25 	) AS hlasy
    26 	GROUP BY hlas;
    27 	<!--
    28 	    Poznámka k přetypování int4(count(*)):
    29 	    maximum je: 2 147 483 647 (tolik hlasů v součtu snad mít nikdy nebudeme :-)
    30 	-->
    31     </entry>
    32 </properties>