Avatar billede supermand69 Nybegynder
29. juni 2006 - 15:18 Der er 11 kommentarer og
1 løsning

if-statement i select

er det muligt at lave en if-statement i select?

eks.
SELECT IF(COUNT(id)-1 < 0, 0) FROM ...

hvis count er mindre end 0 skal det erstattes med 0
Avatar billede arne_v Ekspert
29. juni 2006 - 15:40 #1
ja
Avatar billede supermand69 Nybegynder
29. juni 2006 - 16:56 #2
jeg får bare fejl her
Avatar billede arne_v Ekspert
29. juni 2006 - 17:24 #3
mysql> SELECT COUNT(fid) FROM links;
+------------+
| COUNT(fid) |
+------------+
|    184901 |
+------------+
1 row in set (0.00 sec)

mysql> SELECT IF(COUNT(fid)>0,COUNT(fid),1) FROM links;
+-------------------------------+
| IF(COUNT(fid)>0,COUNT(fid),1) |
+-------------------------------+
|                        184901 |
+-------------------------------+
1 row in set (0.00 sec)
Avatar billede arne_v Ekspert
29. juni 2006 - 17:25 #4
men nu kan jeg jo ogsaa se at du mangler et argument i din IFÆ

SELECT IF(COUNT(id)-1 < 0, 0, COUNT(id)-1) FROM ...
Avatar billede supermand69 Nybegynder
29. juni 2006 - 18:08 #5
tak, lav et svar :)
Avatar billede nielle Nybegynder
29. juni 2006 - 18:11 #6
Jeg er nysgerrig: Hvornår skulle count(id) kunne være mindre end 0?
Avatar billede arne_v Ekspert
29. juni 2006 - 18:16 #7
COUNT(id) kan ikke men COUNT(id)-1 kan
Avatar billede supermand69 Nybegynder
29. juni 2006 - 18:33 #8
arne.. svar :)
Avatar billede arne_v Ekspert
29. juni 2006 - 18:51 #9
svar
Avatar billede nielle Nybegynder
29. juni 2006 - 18:56 #10
Klart :^)

Men hvorfor så ikke bare formen:

SELECT IF(COUNT(id) = 0, 0, COUNT(id)-1) FROM ...
Avatar billede arne_v Ekspert
29. juni 2006 - 20:08 #11
der er mange veje som foerer til Rom ...
Avatar billede nielle Nybegynder
29. juni 2006 - 22:34 #12
Jep, men nogle kræver altså en enkelt udregning mindre ;^)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester