---
title: "Plocka ut med datumintervall"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/90307-plocka-ut-med-datumintervall"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "nkrantz"
published: "2003-11-13T10:09:04.000Z"
updated: "2003-11-13T11:31:55.000Z"
replies: 17
views: 286
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/90307-plocka-ut-med-datumintervall"
---

# Plocka ut med datumintervall

## #1 — nkrantz, 2003-11-13T10:09Z

Hallå!

Går följande att göra och hur gör man isf:

Jag har en tabell med id och ett timestamp på medlemmar. Jag skulle vilja räkna hur många medlemmar per dag som registeras. Alltså söka på intervallen mellan timestampsen. 

// Nippe

Permalänk: https://www.webforum.nu/p/90307

## #2 — SPiN, 2003-11-13T10:11Z

Vad använder du för DBMS?

Permalänk: https://www.webforum.nu/p/1204834

## #3 — nkrantz, 2003-11-13T10:13Z

mySQL... timstampet är sparat som UNIXtimestamp...

Permalänk: https://www.webforum.nu/p/1204838

## #4 — Engine^, 2003-11-13T10:17Z

Nu vet jag inte hur man formaterar DATE i MySQL, men det här fungerar bra i Access, så du kanske kan lösa formateringen själv?

```
SELECT Count(*)
FROM tabell
GROUP BY FormatDateTime(timestamp)
```

**red.** Jag hittade inget format i MySQL som heter UNIXTimestamp. Endast olika Timestamp. Timestamp(14) t.ex..

Permalänk: https://www.webforum.nu/p/1204842

## #5 — SPiN, 2003-11-13T10:28Z

Funktionen heter FROM_UNIXTIMESTAMP() i MySQL.

Testa:

```
SELET COUNT(*)
FROM tabell
GROUP BY FROM_UNIXTIMESTAMP(tabell.field, "%Y %M %D");
```

Permalänk: https://www.webforum.nu/p/1204850

## #6 — nkrantz, 2003-11-13T10:48Z

```
SELECT COUNT(payment_id)
FROM tbl_payment
GROUP BY FROM_UNIXTIMESTAMP(tbl_payment.timestamp, "%Y %M %D");
```

 Funkar inte, får inte heller något felmeddelande!

Vad kan detta bero på?

// Nippe

Permalänk: https://www.webforum.nu/p/1204857

## #7 — SPiN, 2003-11-13T10:50Z

Får du ett 0-värde eller ingen utskrift alls?

Permalänk: https://www.webforum.nu/p/1204859

## #8 — nkrantz, 2003-11-13T10:52Z

Alltså, jag menar, jag får ett felmeddelande, men inget meddelande.. hm.. Så här menar jag (från phpMyAdmin)
Error 
SQL-query: 

SELECT COUNT(\*)
FROM tbl_payment
GROUP BY FROM_UNIXTIME(tbl_payment.timestamp, "%Y %M %D");
MySQL said: 

Å så säger MySQL inget.. lite dumt tycker jag!

// Nippe

Permalänk: https://www.webforum.nu/p/1204860

## #9 — nkrantz, 2003-11-13T10:53Z

sorry... mitt fel.. så här menar jag att det blir: 
Error 
SQL-query: 

SELECT COUNT(payment_id)
FROM tbl_payment
GROUP BY FROM_UNIXTIMESTAMP(tbl_payment.timestamp, "%Y %M %D");
MySQL said: You have an error in your SQL syntax near '(tbl_payment.timestamp, "%Y %M %D")' at line 3

Permalänk: https://www.webforum.nu/p/1204861

## #10 — SPiN, 2003-11-13T10:56Z

Ett nytt försök då, först konverterar vi ditt fält till typen DATE och gör sedan en DATE_FORMAT:

```
SELECT COUNT(payment_id)
FROM tbl_payment
GROUP BY DATE_FORMAT( CAST( tbl_payment.timestamp AS DATE ), "%Y %M %D" );
```

Permalänk: https://www.webforum.nu/p/1204863

## #11 — nkrantz, 2003-11-13T10:56Z

Eh.. Kom på att fältet är egentligen ett varchar fält där ett timestampen sparas från PHP, kanske kan vara detta som är problemet?

Permalänk: https://www.webforum.nu/p/1204864

## #12 — SPiN, 2003-11-13T10:58Z

Ja, jag skrev fel förut. Det finns ingen FROM_UNIXTIMESTAMP, den heter FROM_UNIXTIME som du tydligen hade märkt enligt inlägget innan. :)

Permalänk: https://www.webforum.nu/p/1204865

## #13 — SPiN, 2003-11-13T11:00Z

Aha! Testa då med mitt CAST-exempel om fältet är VARCHAR.

Permalänk: https://www.webforum.nu/p/1204868

## #14 — nkrantz, 2003-11-13T11:01Z

Nä du... 

Error 
SQL-query: 

SELECT COUNT(payment_id)
FROM tbl_payment
GROUP BY DATE_FORMAT( CAST( tbl_payment.timestamp AS DATE ), "%Y %M %D" );
MySQL said: You have an error in your SQL syntax near '( tbl_payment.timestamp AS DATE ), "%Y %M %D" )' at line 3

Permalänk: https://www.webforum.nu/p/1204870

## #15 — SPiN, 2003-11-13T11:04Z

Då verkar det som att du använder en lite äldre MySQL-version? CAST ska vara tillgängligt f.o.m. 4.0.2.

Jag är tom på fler idéer, tyvärr.

Permalänk: https://www.webforum.nu/p/1204872

## #16 — nkrantz, 2003-11-13T11:09Z

Ah... Då var det där problemet låg :( Kör MySQL 3.23.33...

Tack ändå för ditt engagemang ;) Får bygga någon funktion i PHP istället, så vi syns säkert i det forumet istället ;)

// Nippe

Permalänk: https://www.webforum.nu/p/1204874

## #17 — Engine^, 2003-11-13T11:14Z

Har du inga möjligheter att uppgradera MySQL? Det skulle väl vara den bästa lösningen och en varm rekomendation.

Permalänk: https://www.webforum.nu/p/1204878

## #18 — SPiN, 2003-11-13T11:31Z

FROM_UNIXTIME verkar ju annars fungera med 3.23.33:an:

```
SELECT COUNT( tbl_payment.payment_id )
FROM tbl_payment
GROUP BY FROM_UNIXTIME( TIMESTAMP( tbl_payment.timestamp ), "%Y %M %D" );
```

Konverterar först till ett TIMESTAMP-värde och kör sedan funktionen FROM_UNIXTIME.

Red.} Doh, TIMESTAMP-funktionen däremot är från 4.1.1... Du får göra det i PHP då, syns där. ;)

Permalänk: https://www.webforum.nu/p/1204882

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/90307-plocka-ut-med-datumintervall
