---
title: "Sorteringsfråga"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/120387-sorteringsfråga"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Annakay"
published: "2005-01-18T15:14:56.000Z"
updated: "2005-03-01T09:50:04.000Z"
replies: 7
views: 274
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/120387-sorteringsfråga"
---

# Sorteringsfråga

## #1 — Annakay, 2005-01-18T15:14Z

Hej! 

Jag har en SQL-fråga som väljer ut antal logins per dag

```
select convert(varchar(10),login_date,103) as login_date,
          count(*)as antal 
from tblLogins 
group by convert(varchar(10),login_date,103)
order by antal
```

Datumformatet i databasen är både datum och tid, vilket resulterar i den lite krångliga SQL-frågan.  

Om jag sätter 

```
order by login_date
```

 så blir det inte som jag vill dock... Då sorterar den på dagen i datumet, snarare än år och månad:

08/12/2004 : 1
09/11/2004 : 1
10/01/2005 : 3
10/11/2004 : 2
11/01/2005 : 4
11/11/2004 : 3
12/01/2005 : 1

Kan jag få ut rätt resultat direkt i SQL-frågan eller måste jag försöka få ut rätt ordning manuellt i koden där jag matar ut allt resultat? Jag vill ju få ut: 

09/11/2004 : 1
10/11/2004 : 2
11/11/2004 : 3
08/12/2004 : 1
10/01/2005 : 3
11/01/2005 : 4
12/01/2005 : 1

DBMS = SQL Server

Många tack på förhand till er som hajar bättre än mig...  :p

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

## #2 — LarsG, 2005-01-18T15:54Z

```
select login_date,antal from (
select convert(varchar(10),login_date,103) as login_date,
          count(*)as antal 
from tblLogins 
group by convert(varchar(10),login_date,103)) dt
order by convert(varchar(10),login_date,112)
```

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

## #3 — Annakay, 2005-01-18T16:35Z

Hmm... Det funkar inte.. Samma resultat som innan...

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

## #4 — LarsG, 2005-01-18T16:57Z

```
select convert(varchar(10),login_date,103),antal from (
select cast(convert(varchar(10),login_date,112) as datetime)
as login_date,
          count(*)as antal
from tblLogins
group by cast(convert(varchar(10),login_date,112) as datetime)) dt
order by login_date
```

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

## #5 — Annakay, 2005-01-18T17:21Z

När jag skulle skriva ut resultatet så hittade den inte "login_date" eftersom den inte hade något namn i urvalet... 

Jag skrev: 

```
select convert(varchar(10),login_date,103) as logindate,antal from (
select cast(convert(varchar(10),login_date,112) as datetime)
as login_date,
          count(*)as antal
from tblLogins
group by cast(convert(varchar(10),login_date,112) as datetime)) dt
order by login_date
```

då funkade det!

Tusen tack! Det här hade jag aldrig klarat själv..  :r

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

## #6 — Annakay, 2005-03-01T09:27Z

En fråga till!

Om jag vill välja ut alla poster som inte har userID 1 eller 2 då? Var stoppar jag in "WHERE userID \> 2"?

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

## #7 — LarsG, 2005-03-01T09:37Z

```
from tblLogins
where userID not in (1,2)
group by
```

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

## #8 — Annakay, 2005-03-01T09:50Z

Tuuuusen tack! Funkar fin-fint!

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/120387-sorteringsfråga
