---
title: "sortera efter frekvens av svarsalternativ"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/160967-sortera-efter-frekvens-av-svarsalternativ"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "LR^evil.sid"
published: "2007-05-31T10:04:26.000Z"
updated: "2007-05-31T14:48:32.000Z"
replies: 2
views: 397
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/160967-sortera-efter-frekvens-av-svarsalternativ"
---

# sortera efter frekvens av svarsalternativ

## #1 — LR^evil.sid, 2007-05-31T10:04Z

MySQL 5.1

Tjena, jag vill göra en sortering av kunder.
Vid misslyckat kundkontaktförsök sparas vad anledningen var till ej kontakt. t.ex. Mobilsvar, Ej svar, Mobil avslagen

Kan jag i sorteringen räkna antalet rader på en sub-query liknande följande?

```
CASE WHEN (
           SELECT COUNT(alternativ) AS cnt
           FROM (
                 SELECT COUNT(alternativ), alternativ
                 FROM svar
                 GROUP BY alternativ
                ) AS dataTable
          ) = 0
THEN 10000 ELSE cnt END
```

Denna fråga fungerar inte men ni kanske förstå hur jag tänker

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

## #2 — LR^evil.sid, 2007-05-31T10:40Z

Löste problemet på följande sätt istället men lösningar bättre än min är självklart välkomma

```
SELECT t1.id,
       t2.datum,
       (SELECT CASE WHEN COUNT(dataTable.alternativ) = 0
                    THEN 10000
                    ELSE COUNT(dataTable.alternativ)
               END
        FROM (SELECT COUNT(alternativ), alternativ
              FROM table2
              GROUP BY alternativ
             ) AS dataTable
       ) AS cnt
FROM table1 t1
LEFT JOIN table2 t2 ON t2.id = t1.id
WHERE t2.id IS NULL
ORDER BY CASE WHEN t2.datum IS NULL THEN 1 ELSE 0 END, t2.datum, cnt DESC
```

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

## #3 — LR^evil.sid, 2007-05-31T14:48Z

Var lite snabb i bedömningen, det fungerade inte alls som jag tänkt. Dessutom stod det fel i kravspesifikationen.

Rätt kravspecifikation skall vara:
\* Vid misslyckat kundkontaktförsök sparas vad anledningen var till ej kontakt. t.ex. Mobilsvar, Ej svar, Mobil avslagen
\* Vid val av ringkort skall vi bedöma hur intressant kunden verkar vara.
\* Skulle svarsalternativet ändras bedöms kunden som mer intressant än en kund som har ett konsekvent svarsalternativ.

Min ide om att räkna rader fungerar inte riktigt i det här fallet men man skulle kunna använda LIMIT 2 och GROUP BY och räkna de raderna?

Eller har ni någon annan ide?

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/160967-sortera-efter-frekvens-av-svarsalternativ
