/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
antal af poster for hver dato
Fra : pepss


Dato : 14-06-04 07:21

Hejsa NG

jeg har en tabel(MySQL) med et felt af typen date time.
jeg vil så gerne havde antallet af poster for hver dato der er i tabellen.
kan man gøre det i ren sql?

--
Pepss
Den ordblinde der prøver at blive webdesigner
Fræk frækkere www.cafe-flirt.dk
De frække noveller www.novelle.cafe-flirt.dk



 
 
Jan Bachman (14-06-2004)
Kommentar
Fra : Jan Bachman


Dato : 14-06-04 07:34

>jeg har en tabel(MySQL) med et felt af typen date time.
>jeg vil så gerne havde antallet af poster for hver dato der er i tabellen.
>kan man gøre det i ren sql?
select dato,count(dato)
from tabel
group by dato;

/Jan

pepss (14-06-2004)
Kommentar
Fra : pepss


Dato : 14-06-04 08:17


"Jan Bachman" skrev
> >jeg har en tabel(MySQL) med et felt af typen date time.
> >jeg vil så gerne havde antallet af poster for hver dato der er i
tabellen.
> >kan man gøre det i ren sql?

> select dato,count(dato)
> from tabel
> group by dato;

tak skal du ha! det var let!

--
Pepss
Den ordblinde der prøver at blive webdesigner
Fræk frækkere www.cafe-flirt.dk
De frække noveller www.novelle.cafe-flirt.dk



Kristian Damm Jensen (14-06-2004)
Kommentar
Fra : Kristian Damm Jensen


Dato : 14-06-04 10:14

Jan Bachman <jamen@davs.du> wrote in message news:<4lhqc0lm476es40h7iir7er9uetjbqaqk2@4ax.com>...
> >jeg har en tabel(MySQL) med et felt af typen date time.
> >jeg vil så gerne havde antallet af poster for hver dato der er i tabellen.
> >kan man gøre det i ren sql?
> select dato,count(dato)
> from tabel
> group by dato;

Det virker kun, hvis du kan være sikker på, at der ikke er indtastet
et tidspunkt i den pågældende datatime.

Prøv i stedet
select date(dato) d, count(*)
from tabel
group by d;

VH
Kristian

Martin Christensen (15-06-2004)
Kommentar
Fra : Martin Christensen


Dato : 15-06-04 06:27

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

damm@ofir.dk (Kristian Damm Jensen) writes:
>> select dato,count(dato)
>> from tabel
>> group by dato;
>
> Det virker kun, hvis du kan være sikker på, at der ikke er indtastet
> et tidspunkt i den pågældende datatime.
>
> Prøv i stedet
> select date(dato) d, count(*)
> from tabel
> group by d;

Den kræver lige en forklaring. Hvordan kan det være?

Martin

- --
Homepage: http://www.cs.auc.dk/~factotum/
GPG public key: http://www.cs.auc.dk/~factotum/gpgkey.txt
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Using Mailcrypt+GnuPG <http://www.gnupg.org>

iEYEARECAAYFAkDOiMAACgkQYu1fMmOQldW+8gCfbp4bvfzZ2rDVJfTkWCsSaOxh
t9IAn0To7ZGll4rFN9Jb7Idd0VMie7XB
=Xp/2
-----END PGP SIGNATURE-----

Kristian Damm Jensen (15-06-2004)
Kommentar
Fra : Kristian Damm Jensen


Dato : 15-06-04 21:49

Martin Christensen <knightsofspamalot-factotum@gvdnet.dk> wrote in message news:<87r7shxuf3.fsf@gvdnet.dk>...
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> damm@ofir.dk (Kristian Damm Jensen) writes:
> >> select dato,count(dato)
> >> from tabel
> >> group by dato;
> >
> > Det virker kun, hvis du kan være sikker på, at der ikke er indtastet
> > et tidspunkt i den pågældende datatime.
> >
> > Prøv i stedet
> > select date(dato) d, count(*)
> > from tabel
> > group by d;
>
> Den kræver lige en forklaring. Hvordan kan det være?

Antag føldende indhold af tabellen:

Dato Værdi
==========================
"2004-01-01 12:00" 1
"2004-01-01 12:00" 2
"2004-01-01 13:00" 2

select dato
, count(dato) as antal
from tabel
group by dato;

vil returnere

Dato antal
==========================
"2004-01-01 12:00" 2
"2004-01-01 13:00" 1

medens

select date(dato) as d
, count(*) as antal
from tabel
group by d;

vil returnere

D antal
====================
"2004-01-01" 3

idet date() udtrækker dato-delen af en datetime.

VH
Kristian

Martin Christensen (16-06-2004)
Kommentar
Fra : Martin Christensen


Dato : 16-06-04 01:37

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

damm@ofir.dk (Kristian Damm Jensen) writes:
[...]
> idet date() udtrækker dato-delen af en datetime.

Doh! Den havde jeg overset, så nu giver det naturligvis perfekt
mening. Hvorfor overså jeg forresten selvsamme funktion for nyligt da
jeg bøvlede med afrunding af datoer til noget ETL-bøvl? I den
forbindelse, findes der forresten funktioner til at afrunde datetimes
til fx minutter, timer osv.? Jeg har ikke kunnet finde nogen.

Martin

- --
Homepage: http://www.cs.auc.dk/~factotum/
GPG public key: http://www.cs.auc.dk/~factotum/gpgkey.txt
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Using Mailcrypt+GnuPG <http://www.gnupg.org>

iEYEARECAAYFAkDPljMACgkQYu1fMmOQldUyowCg1N0GyTXyifwbUb3zQC6pLrLC
LQ0AnRShdWlfpMnaK2KsZmqnt4c9fclM
=CU2B
-----END PGP SIGNATURE-----

Kristian Damm Jensen (16-06-2004)
Kommentar
Fra : Kristian Damm Jensen


Dato : 16-06-04 08:02

Martin Christensen <knightsofspamalot-factotum@gvdnet.dk> wrote in message news:<87659spccs.fsf@gvdnet.dk>...
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> damm@ofir.dk (Kristian Damm Jensen) writes:
> [...]
> > idet date() udtrækker dato-delen af en datetime.
>
> Doh! Den havde jeg overset, så nu giver det naturligvis perfekt
> mening. Hvorfor overså jeg forresten selvsamme funktion for nyligt da
> jeg bøvlede med afrunding af datoer til noget ETL-bøvl? I den
> forbindelse, findes der forresten funktioner til at afrunde datetimes
> til fx minutter, timer osv.? Jeg har ikke kunnet finde nogen.

Jeg har ingen anelse; jeg bruger ikke selv mySQL til daglig. date()
fandt jeg gennem on-line dokumentationen efter nogle få minutter.

I værste fald kan man blive nødt til at konvertere til varchar og
klippe-klistre i skidtet.

VH
Kristian

Jan Bachman (16-06-2004)
Kommentar
Fra : Jan Bachman


Dato : 16-06-04 08:17

> I den forbindelse, findes der forresten funktioner til at afrunde datetimes
>til fx minutter, timer osv.? Jeg har ikke kunnet finde nogen.
MSSQL har DatePart() til bl.a. at klippe dele ud af en datetime.

/Jan

Jan Bachman (16-06-2004)
Kommentar
Fra : Jan Bachman


Dato : 16-06-04 08:20

>MSSQL har DatePart()
Doh. Jeg skal lige vågne. Du bruger jo MySQL, og der findes den ikke.

/Jan

Jesper Krogh (16-06-2004)
Kommentar
Fra : Jesper Krogh


Dato : 16-06-04 08:43

I dk.edb.database, skrev Jan Bachman:
> >MSSQL har DatePart()
> Doh. Jeg skal lige vågne. Du bruger jo MySQL, og der findes den ikke.
>

Men der er så en masse andet:
http://dev.mysql.com/doc/mysql/en/Date_calculations.html


--
../Jesper Krogh, jesper@krogh.cc
Jabber ID: jesper@jabbernet.dk


Martin Christensen (16-06-2004)
Kommentar
Fra : Martin Christensen


Dato : 16-06-04 11:15

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Jan Bachman <jamen@davs.du> writes:
>>MSSQL har DatePart()
> Doh. Jeg skal lige vågne. Du bruger jo MySQL, og der findes den ikke.

Det har jeg på intet tidspunkt påstået. Til den opgave _brugte_
jeg faktisk MSSQL (dog ikke af eget valg), og anvendte også nævnte
funktion til at udtrække de dele af datoen, jeg havde brug for. Det
havde dog været at foretrække, hvis der havde været en fornuftig
afrundingsfunktion.

Martin

- --
Homepage: http://www.cs.auc.dk/~factotum/
GPG public key: http://www.cs.auc.dk/~factotum/gpgkey.txt
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Using Mailcrypt+GnuPG <http://www.gnupg.org>

iEYEARECAAYFAkDQHbEACgkQYu1fMmOQldW/tgCcDPVEN+D1TG7h7L8+SotYKmld
8YAAn31yAwk2eclC2DdL4zQuj6RjJyPF
=YeTd
-----END PGP SIGNATURE-----

Kristian Damm Jensen (16-06-2004)
Kommentar
Fra : Kristian Damm Jensen


Dato : 16-06-04 19:59

Martin Christensen <knightsofspamalot-factotum@gvdnet.dk> wrote in message news:<87d63z6c7i.fsf@gvdnet.dk>...
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Jan Bachman <jamen@davs.du> writes:
> >>MSSQL har DatePart()
> > Doh. Jeg skal lige vågne. Du bruger jo MySQL, og der findes den ikke.
>
> Det har jeg på intet tidspunkt påstået. Til den opgave _brugte_
> jeg faktisk MSSQL (dog ikke af eget valg), og anvendte også nævnte
> funktion til at udtrække de dele af datoen, jeg havde brug for. Det
> havde dog været at foretrække, hvis der havde været en fornuftig
> afrundingsfunktion.

Forvirringen stammer fra, at den tråden blev startet af en, der brugte
MySQL.

MSSQL har så vidt jeg ved en masse sjove parametre til convert.

convert(datetime, @date, 112) giver således datoen i formatet
"2004-12-31" (eller er det uden bindestreger, det kan jeg ikke lige
huske). I en MSSQL-løsning var det den, der skulle være brugt i mit
tidligere forslag.

VH
Kristian

Søg
Reklame
Statistik
Spørgsmål : 177493
Tips : 31966
Nyheder : 719565
Indlæg : 6408479
Brugere : 218886

Månedens bedste
Årets bedste
Sidste års bedste