webForumDet fria alternativet

sortera efter frekvens av svarsalternativ

2 svar · 397 visningar · startad av LR^evil.sid

LR^evil.sidMedlem sedan maj 2002560 inlägg
#1

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

LR^evil.sidMedlem sedan maj 2002560 inlägg
#2

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
LR^evil.sidMedlem sedan maj 2002560 inlägg
#3

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?

123 ms totalt · 3 externa anrop · v20260731065814-full.86db40fa
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
121 ms — hämta tråd, inlägg och bilagor (db)