Avatar billede lsskaarup Nybegynder
20. oktober 2005 - 15:41 Der er 19 kommentarer og
1 løsning

Sortering samtidig på 2 kolonner

Jeg har følgende query:

SELECT o.id as id, o.ordre as ordre, o.rev as rev, o0.r5 as levuge, o0.r5a as levaar, o0.r1 as projektleder, o0.r9 as kunde, o0.r18 as bygherre, round(o5.r504/1000) as ordresum, WEEKOFYEAR(o5.r533c) AS lev, o5.r533c, o5.r555 AS levtegn FROM ordre AS o, ordre0 AS o0 LEFT JOIN ordre5 AS o5 ON o0.tilbudsnummer=o5.tilbudsnummer WHERE o0.tilbudsnummer=o.id && (o5.r534=1 || o5.r534b=1 || o5.r554 = 1) ORDER BY IF((o5.r533c = 0000-00-00 || o5.r533c IS NULL),1,0), o5.r533c ASC, o.id ASC

Den skal ændres så der sorteres efter lev og levtegn, der returneres fra query. Det skal altså gøres sådan, at de bliver sorteret som én kolonne, så de skal "smeltes" sammen og sorteres stigende.
Avatar billede Slettet bruger
21. oktober 2005 - 09:40 #1
order by lev, levtegn - hvis mySQL forstår alias kolonner ellers bliver det noget i retning af order by WEEKOFYEAR(o5.r533c), o5.r555 så vidt jeg kan se
Avatar billede lsskaarup Nybegynder
21. oktober 2005 - 14:04 #2
mySQL forstår ikke altid alias, så feltnavnet er fint nok, men det løser ikke mit problem.

Jeg kan prøve at illustrerer det, hvis jeg bare hiver data råt for usødet ud, så får jeg bl.a. disse kolonner.

Id    Lev        Levtegn
1      8             
2      9
3      9
4      9              9
5      9             
6      10
7      12
8      14
9      15            8
10    23

Jeg skal så i output have vist "Lev" med mindre at "Levtegn" er udfyldt. Er den det skal denne vises. Men listen skal sorteres samlet, så f.eks. den record som har 15 i "Lev" men 8 i "Levtegn", ja, så skal den sorteres efter "Levtegn".

Resultat:

Id    Lev        Levtegn
1      8   
9      15            8         
2      9
3      9
4      9              9
5      9             
6      10
7      12
8      14
10    23

Håber det hjælper lidt.
Avatar billede lsskaarup Nybegynder
28. oktober 2005 - 13:01 #3
Ingen som kan hjælpe?
Avatar billede kjulius Novice
03. november 2005 - 23:49 #4
Kan du ikke sortere på

ORDER BY CASE WHEN Levtegn IS NULL THEN Lev ELSE Levtegn END

?
Avatar billede lsskaarup Nybegynder
04. november 2005 - 13:55 #5
Ikke 100 procent, for det først, så skal den have feltets rigtigt navn, men det er jo heldigvis let nok at rette. Men den sortere ikke rigtigt stigende.
Avatar billede kjulius Novice
05. november 2005 - 00:33 #6
Mener du, at feltnavnene skulle have været

ORDER BY CASE WHEN o5.r555 IS NULL THEN WEEKOFYEAR(o5.r533c) ELSE o5.r555 END

?

Jeg har lagt mærke til, at du i den oprindelige forespørgsel også tester på 0000-00-00, så det skal måske også tilføjes?

ORDER BY CASE WHEN o5.r555 IS NULL OR o5.r555 = 0000-00-00 THEN WEEKOFYEAR(o5.r533c) ELSE o5.r555 END
Avatar billede lsskaarup Nybegynder
05. november 2005 - 13:29 #7
Jeps alias kan den åbenbart ikke forstå, jeg prøver lige med din nye sætning på mandag
Avatar billede lsskaarup Nybegynder
10. november 2005 - 11:43 #8
Yes, det virker - næsten. Der er nogle ting, den sortere til sidst. Men jeg skal lige se om det skyldes noget andet, eller om det er en "mangel" i sorteringen.
Avatar billede lsskaarup Nybegynder
10. november 2005 - 11:44 #9
??Hmm?? kan man ikke bare fyrer sql-koden af i phpmyadmin?

Den brokker sig nemlig over CASE.
Avatar billede kjulius Novice
10. november 2005 - 19:30 #10
Hmm.. måske har jeg ikke helt styr på MySQL syntaxen, så vi prøver lige den med IF, som du jo også bruger i dit oprindelige spørgsmål:

ORDER BY IF((o5.r533c IS NULL OR o5.r555 = 0000-00-00), WEEKOFYEAR(o5.r533c),o5.r555)
Avatar billede kjulius Novice
10. november 2005 - 19:31 #11
ORDER BY IF((o5.r555 IS NULL OR o5.r555 = 0000-00-00), WEEKOFYEAR(o5.r533c),o5.r555)

skulle det have været...
Avatar billede lsskaarup Nybegynder
14. november 2005 - 10:21 #12
Det gør ingen forskel
Avatar billede lsskaarup Nybegynder
14. november 2005 - 10:46 #13
Hvordan sortere den egentlig med den der IF? Er det default ASC?

Jeg kan nemlig ikke rigtigt gennemskue hvordan den sorter og derfor heller ikke hvad det er der går galt.

Men farer for at gøre spørgsmålet meget langt, så prøver jeg lige at paste outputtet herind.
Avatar billede lsskaarup Nybegynder
14. november 2005 - 10:49 #14
Lev. er altså "samlingskolonnen" for henholdsvis r555 og r533c, de første records her ingen lev.
Jeg har også lige lagt r555 og r533c ind, måske kan du eller en anden bruge det til noget.

Lig mærke til den sidste record, den burde ikke ligge der?-0

Ordrenr. Lev.
uge P.L.    555 533c id
40357  HJE    0000-00-00 0000-00-00 41
40408  HJE    0000-00-00 98
40433  JBJ    0000-00-00 0000-00-00 125
40437  JRH    0000-00-00 129
40443  PDJ    0000-00-00 0000-00-00 136
40444  PDJ    0000-00-00 0000-00-00 138
40444 R1  PDJ    0000-00-00 0000-00-00 139
40450  BHR    0000-00-00 0000-00-00 145
40357 R1  HJE    0000-00-00 198
40540  HJE    0000-00-00 0000-00-00 244
40542  KMM    0000-00-00 0000-00-00 247
40553  KMM    0000-00-00 0000-00-00 259
40540 R1  HJE    0000-00-00 0000-00-00 278
40583  KMM    0000-00-00 0000-00-00 296
40764  KMM    0000-00-00 0000-00-00 497
40351  10 JRH    10 2005-02-23 34
40341  11 JRH    11 2005-04-01 24
40353  9 DIW    0000-00-00 2005-03-02 37
40353 R1  9 DIW    0000-00-00 2005-03-02 71
40353 R2  9 DIW    0000-00-00 2005-03-02 72
40333  9 HJE    2005-03-03 16
40319  10 LVE    2005-03-07 1
40323  10 JBJ    0000-00-00 2005-03-07 6
40367  10 LVE    0000-00-00 2005-03-07 51
40335  10 LVE    0000-00-00 2005-03-10 18
40338  10 LVE    0000-00-00 2005-03-10 21
40359  10 JBJ    0000-00-00 2005-03-10 43
40380  11 LVE    0000-00-00 2005-03-14 64
40348  11 HJE    0000-00-00 2005-03-17 31
40350  12 PDJ    0000-00-00 2005-03-21 33
40350 R1  12 PDJ    0000-00-00 2005-03-21 35
40342  12 TKR    0000-00-00 2005-03-22 25
40376  12 SPE    0000-00-00 2005-03-22 60
40369  13 JBJ    0000-00-00 2005-03-28 53
40369 R1  13 JBJ    0000-00-00 2005-03-29 81
40390  13 KMM    2005-03-30 78
40336  13 TKR    0000-00-00 2005-03-31 19
40339  13 PDJ    0000-00-00 2005-04-01 22
40347  13 SPE    0000-00-00 2005-04-01 30
40382  13 JBJ    0000-00-00 2005-04-01 66
40399  14 LVE    0000-00-00 2005-04-04 88
40381  14 LVE    0000-00-00 2005-04-08 65
40396  15 JBJ    0000-00-00 2005-04-11 85
40336 R1  15 TKR    0000-00-00 2005-04-11 89
40408 R1  15 HJE    0000-00-00 2005-04-11 110
40453  15 TKR    0000-00-00 2005-04-11 148
40450 R1  2005-04-11 BHR    2005-04-11 2005-04-18 151
40401  15 LVE    0000-00-00 2005-04-12 91
40355  15 TKR    0000-00-00 2005-04-15 39
40356  15 TKR    0000-00-00 2005-04-15 40
40498  15 LVE    0000-00-00 2005-04-15 200
40398  16 TKR    0000-00-00 2005-04-18 87
40424  16 JBJ    0000-00-00 2005-04-18 116
40424 R1  16 JBJ    2005-04-18 135
40385  16 LVE    0000-00-00 2005-04-20 69
40378  16 TKR    0000-00-00 2005-04-21 62
40416  17 JBJ    0000-00-00 2005-04-25 107
40425  17 JBJ    0000-00-00 2005-04-25 117
40428  17 SPE    0000-00-00 2005-04-25 120
40440  17 BHR    0000-00-00 2005-04-25 132
40461  17 LVE    0000-00-00 2005-04-25 158
40425 R1  17 JBJ    2005-04-25 167
40382 R1  17 JBJ    0000-00-00 2005-04-25 171
40435  17 PDJ    0000-00-00 2005-04-27 127
40436  17 PDJ    2005-04-27 128
40580  2005-04-27 JRH    2005-04-27 2005-05-04 289
40411  17 LVE    0000-00-00 2005-04-30 102
40320  17 PDJ    0000-00-00 2005-05-01 2
40320 R1  17 PDJ    0000-00-00 2005-05-01 3
40402  18 PDJ    0000-00-00 2005-05-02 92
40404  18 PDJ    0000-00-00 2005-05-02 94
40474  18 PDJ    0000-00-00 2005-05-02 174
40463  18 KMM    0000-00-00 2005-05-04 160
40484  19 TKR    0000-00-00 2005-05-09 184
40448  2005-05-16 JBJ    2005-05-16 2005-05-02 143
40518  20 BHR    0000-00-00 2005-05-16 220
40319 R1  20 LVE    0000-00-00 2005-05-17 150
40371  20 JRH    0000-00-00 2005-05-18 55
40430  21 TKR    0000-00-00 2005-05-23 122
40489  2005-05-23 JBJ    2005-05-23 2005-05-23 190
40491  21 TKR    0000-00-00 2005-05-23 192
40496  21 LVE    0000-00-00 2005-05-23 197
40501  2005-05-23 JBJ    2005-05-23 2005-05-16 203
40507  21 BHR    0000-00-00 2005-05-23 209
40416 R1  21 JBJ    0000-00-00 2005-05-23 228
40507 R1  21 BHR    0000-00-00 2005-05-23 245
40483  21 KMM    0000-00-00 2005-05-27 183
40379  2005-05-30 BHR    2005-05-30 0000-00-00 63
40386  22 LVE    0000-00-00 2005-05-30 70
40415  22 BHR    0000-00-00 2005-05-30 106
40429  22 PDJ    0000-00-00 2005-05-30 121
40473  22 PDJ    0000-00-00 2005-05-30 173
40512  22 BHR    2005-05-30 214
40516  22 TKR    2005-05-30 218
40517  22 HJE    0000-00-00 2005-05-30 219
40473 R1  22 JSC    0000-00-00 2005-05-30 231
40533  22 BHR    0000-00-00 2005-05-30 237
40466  22 LVE    0000-00-00 2005-05-31 163
40475  22 LVE    0000-00-00 2005-05-31 175
40490  22 TKR    2005-05-31 191
40530  22 TKR    0000-00-00 2005-05-31 234
40363  2005-06-01 JRH    2005-06-01 2005-06-08 47
40387  23 LVE    0000-00-00 2005-06-06 74
40476  23 BHR    2005-06-06 176
40481  23 LVE    0000-00-00 2005-06-06 181
40487  23 TKR    0000-00-00 2005-06-06 188
40532  23 LVE    0000-00-00 2005-06-06 236
40536  23 HJE    2005-06-06 240
40570  23 PDJ    0000-00-00 2005-06-06 277
40540 R2  23 HJE    0000-00-00 2005-06-06 279
40585  23 BHR    0000-00-00 2005-06-06 298
40570 R1  23 PDJ    0000-00-00 2005-06-06 415
40374  2005-06-08 JRH    2005-06-08 2005-06-08 58
40524  2005-06-08 JRH    2005-06-08 2005-06-08 226
40622  23 JSC    0000-00-00 2005-06-08 340
40622 R1  23 JSC    0000-00-00 2005-06-08 359
40543  23 JBJ    0000-00-00 2005-06-10 249
40548  23 KMM    0000-00-00 2005-06-10 254
40468  24 BHR    0000-00-00 2005-06-13 165
40499  24 TKR    0000-00-00 2005-06-13 201
40502  24 TKR    0000-00-00 2005-06-13 204
40506  2005-06-13 JBJ    2005-06-13 2005-05-16 208
40550  24 TKR    0000-00-00 2005-06-13 256
40558  24 TKR    0000-00-00 2005-06-13 264
40560  24 BHR    0000-00-00 2005-06-13 266
40576  2005-06-13 JBJ    2005-06-13 2005-06-13 285
40592  2005-06-13 JBJ    2005-06-13 2005-06-15 307
40529  24 KMM    0000-00-00 2005-06-16 233
40544  24 KMM    0000-00-00 2005-06-16 250
40544 R1  24 KMM    0000-00-00 2005-06-16 293
40544 R2  24 KMM    0000-00-00 2005-06-16 294
40562  24 PDJ    0000-00-00 2005-06-17 268
40503  2005-06-20 JBJ    2005-06-20 2005-05-30 205
40534  25 LVE    0000-00-00 2005-06-20 238
40551  25 BHR    0000-00-00 2005-06-20 257
40555  25 TKR    0000-00-00 2005-06-20 261
40574  25 BHR    0000-00-00 2005-06-20 283
40603  25 BHR    0000-00-00 2005-06-20 318
40574 R1  25 BHR    0000-00-00 2005-06-20 324
40525  25 JRH    0000-00-00 2005-06-22 227
40582  25 PDJ    0000-00-00 2005-06-22 291
40582 R1  25 PDJ    0000-00-00 2005-06-22 301
40421  2005-06-26 JBJ    2005-06-26 2005-04-25 113
40451  26 LVE    0000-00-00 2005-06-27 146
40454  26 TKR    0000-00-00 2005-06-27 149
40508  2005-06-27 BHR    2005-06-27 2005-05-30 210
40510  26 BHR    0000-00-00 2005-06-27 212
40557  26 LVE    0000-00-00 2005-06-27 263
40566  26 TKR    0000-00-00 2005-06-27 272
40569  26 BHR    0000-00-00 2005-06-27 276
40572  26 PDJ    0000-00-00 2005-06-27 281
40584  2005-06-27 JBJ    2005-06-27 2005-06-23 297
40598  26 JBJ    2005-06-27 313
40602  26 BHR    2005-06-27 317
40569 R1  26 BHR    0000-00-00 2005-06-27 323
40615  2005-06-27 JBJ    2005-06-27 2005-06-13 332
40672  2005-06-27 JBJ    2005-06-27 2005-07-04 392
40438  26 JRH    0000-00-00 2005-06-29 130
40595  26 JRH    0000-00-00 2005-06-29 310
40586  26 PDJ    0000-00-00 2005-06-30 300
40556  27 PDJ    0000-00-00 2005-07-04 262
40575  27 PDJ    0000-00-00 2005-07-04 284
40600  27 TKR    0000-00-00 2005-07-04 315
40601  27 TKR    0000-00-00 2005-07-04 316
40625  27 JSC    0000-00-00 2005-07-04 343
40630  27 JSC    0000-00-00 2005-07-04 348
40632  27 BHR    2005-07-04 350
40635  27 HJE    0000-00-00 2005-07-04 353
40332  27 JRH    0000-00-00 2005-07-06 15
40581  27 JRH    0000-00-00 2005-07-06 290
40593  27 KMM    0000-00-00 2005-07-06 308
40626  27 JSC    0000-00-00 2005-07-07 344
40500  28 TKR    2005-07-11 202
40509  28 BHR    2005-07-11 211
40616  28 JBJ    0000-00-00 2005-07-11 334
40624  28 LVE    0000-00-00 2005-07-11 342
40627  2005-07-11 JBJ    2005-07-11 2005-07-11 345
40628  28 LVE    2005-07-11 346
40640  28 BHR    2005-07-11 358
40643  28 JSC    2005-07-11 362
40644  28 JSC    0000-00-00 2005-07-11 363
40438 R1  28 JRH    0000-00-00 2005-07-13 395
40648  28 JSC    0000-00-00 2005-07-14 367
40661  28 LVE    0000-00-00 2005-07-15 380
40596  2005-07-18 JBJ    2005-07-18 2005-06-22 311
40645  2005-07-18 JBJ    2005-07-18 2005-07-18 364
40657  29 BHR    0000-00-00 2005-07-18 376
40660  29 BHR    0000-00-00 2005-07-18 379
40663  29 TKR    2005-07-18 382
40668  29 JSC    0000-00-00 2005-07-18 388
40657 R1  29 BHR    0000-00-00 2005-07-18 465
40618  29 LVE    2005-07-23 336
40564  2005-07-25 BHR    2005-07-25 2005-06-20 270
40597  30 KMM    0000-00-00 2005-07-30 312
40397  30 LVE    0000-00-00 2005-07-31 86
40394  2005-08-01 JBJ    2005-08-01 2005-05-20 83
40423  31 TKR    2005-08-01 115
40452  31 TKR    0000-00-00 2005-08-01 147
40578  31 PDJ    2005-08-01 287
40642  2005-08-01 JBJ    2005-08-01 2005-08-01 361
40652  31 LVE    0000-00-00 2005-08-01 371
40679  31 BHR    2005-08-01 400
40652 R1  31 LVE    0000-00-00 2005-08-01 406
40698  31 BHR    2005-08-01 421
40620  31 JRH    2005-08-03 338
40685  31 KMM    0000-00-00 2005-08-03 407
40611  2005-08-08 JBJ    2005-08-08 2005-07-11 328
40649  2005-08-08 JBJ    2005-08-08 2005-07-11 368
40655  32 JSC    0000-00-00 2005-08-08 374
40656  32 JBJ    0000-00-00 2005-08-08 375
40658  32 TKR    2005-08-08 377
40670  32 JSC    0000-00-00 2005-08-08 390
40675  32 BHR    2005-08-08 396
40680  32 BHR    0000-00-00 2005-08-08 401
40689  32 TKR    2005-08-08 411
40753  32 JRH    2005-08-10 483
40527  33 TKR    2005-08-15 230
40563  2005-08-15 JBJ    2005-08-15 2005-06-20 269
40662  33 BHR    0000-00-00 2005-08-15 381
40671  33 JSC    2005-08-15 391
40688  33 LVE    0000-00-00 2005-08-15 410
40714  33 JBJ    0000-00-00 2005-08-15 437
40662 R1  33 BHR    2005-08-15 448
40571  34 TKR    0000-00-00 2005-08-22 280
40623  34 JBJ    0000-00-00 2005-08-22 341
40659  34 HJE    0000-00-00 2005-08-22 378
40623 R1  34 JBJ    0000-00-00 2005-08-22 383
40687  34 TKR    2005-08-22 409
40691  34 JSC    0000-00-00 2005-08-22 413
40694  34 LVE    0000-00-00 2005-08-22 417
40695  34 BHR    2005-08-22 418
40808  34 JBJ    2005-08-22 542
40692  35 JSC    2005-08-29 414
40702  35 LVE    2005-08-29 425
40707  35 LVE    2005-08-29 430
40709  35 TKR    2005-08-29 432
40729  35 LVE    0000-00-00 2005-08-29 455
40743  35 BHR    2005-08-29 472
40691 R1  35 JSC    2005-08-30 543
40636  36 HJE    2005-09-05 354
40686  36 LVE    2005-09-05 408
40699  36 BHR    0000-00-00 2005-09-05 422
40708  36 TKR    2005-09-05 431
40716  36 BHR    2005-09-05 439
40461 R1  36 LVE    0000-00-00 2005-09-05 460
40739  36 TKR    2005-09-05 467
40742  36 JBJ    2005-09-05 471
40744  36 LVE    2005-09-05 473
40752  36 TKR    2005-09-05 482
40716 R1  36 BHR    2005-09-05 608
40609  37 LVE    2005-09-12 326
40666  37 JSC    2005-09-12 386
40676  37 JBJ    2005-09-12 397
40693  37 JBJ    2005-09-12 416
40720  37 JSC    0000-00-00 2005-09-12 443
40722  37 JSC    2005-09-12 445
40733  37 TKR    2005-09-12 459
40811  37 LVE    2005-09-12 546
40599  37      2005-09-14 314
40392  38 HJE    2005-09-19 80
40725  38 BHR    2005-09-19 451
40727  38 TKR    2005-09-19 453
40728  38 JSC    2005-09-19 454
40735  38 BHR    2005-09-19 462
40747  38 JSC    0000-00-00 2005-09-19 476
40747 R1  38 JSC    2005-09-19 484
40720 R1  38 JSC    2005-09-19 494
40763  38 TKR    2005-09-19 496
40850  38 HJE    2005-09-19 587
40934  38 JSC    2005-09-21 677
40907  38 JBJ    2005-09-22 648
40419  39 HJE    2005-09-26 111
40621  39 JBJ    2005-09-26 339
40750  39 LVE    2005-09-26 480
40767  39 JSC    2005-09-26 501
40769  39 JSC    2005-09-26 503
40771  39 TKR    2005-09-26 505
40774  39 LVE    2005-09-26 508
40776  39 JSC    2005-09-26 510
40781  39 BHR    2005-09-26 515
40784  39 TKR    2005-09-26 518
40769 R1  39 JSC    2005-09-26 565
40866  39 HPE    2005-09-26 603
40388  39 JRH    2005-09-28 75
40780  40 LVE    2005-10-03 514
40785  40 TKR    2005-10-03 519
40791  40 TKR    2005-10-03 525
40796  40 BHR    2005-10-03 530
40803  40 JBJ    2005-10-03 537
40746  40      2005-10-05 475
40931  40 LVE    2005-10-05 674
40790  41 JSC    2005-10-10 524
40795  41 JSC    2005-10-10 529
40806  41 JBJ    2005-10-10 540
40812  41 LVE    2005-10-10 547
40816  41 LVE    2005-10-10 551
40818  41 JSC    2005-10-10 553
40820  41 LVE    2005-10-10 555
40824  41 TKR    2005-10-10 559
40745  42 LVE    0000-00-00 2005-10-17 474
40751  42 LVE    2005-10-17 481
40775  42 LVE    2005-10-17 509
40777  42 LVE    2005-10-17 511
40822  42 JBJ    2005-10-17 557
40844  42 JSC    2005-10-17 580
40845  42 JSC    2005-10-17 581
40852  42 TKR    2005-10-17 589
40871  42 LVE    2005-10-17 609
40871 R1  42 LVE    2005-10-17 651
40482  43 LVE    2005-10-24 182
40819  43 LVE    2005-10-24 554
40846  43 JSC    2005-10-24 582
40849  43 JSC    2005-10-24 586
40884  43 LVE    2005-10-24 622
40745 R1  43 LVE    2005-10-24 632
40751 R1  43 LVE    2005-10-24 636
40854  43      2005-10-26 591
40761  44 LVE    2005-10-31 493
40859  44 JSC    2005-10-31 596
40861  44 JSC    2005-10-31 598
40872  44 JSC    2005-10-31 610
40873  44 JBJ    2005-10-31 611
40877  44 JBJ    2005-10-31 615
40879  44 JSC    2005-10-31 617
40882  44 JBJ    2005-10-31 620
40887  44 JSC    2005-10-31 625
40888  44 JSC    2005-10-31 626
40439  44 JRH    2005-11-02 131
40713  44      2005-11-02 436
40891  44      2005-11-02 629
40840  44 LVE    2005-11-04 576
40773  45 LVE    2005-11-07 507
40858  45 JBJ    2005-11-07 595
40899  45 JSC    2005-11-07 640
40854 R1  45      2005-11-09 638
40902  45      2005-11-09 643
40854 R2  45      2005-11-09 732
40825  46 JRH    2005-11-14 560
40922  46 JBJ    2005-11-14 664
40929  46 JBJ    2005-11-14 671
40941  46 JSC    2005-11-14 684
40922 R1  46 JBJ    2005-11-14 698
40929 R1  46 JBJ    2005-11-14 755
40943  47 JSC    2005-11-21 686
40953  47 HJE    2005-11-21 696
40938  47      2005-11-23 681
40933  47 LVE    2005-11-24 676
40975  47 KMM    2005-11-25 725
40984  49 HPE    2005-12-05 740
40789  50 KMM    2005-12-12 523
40370  21 JRH    21 2005-06-01 54
40612  26 HJE    26 2005-06-27 329
40650  28 HJE    28 2005-07-11 369
40409  29 HJE    29 2005-07-18 100
40505  29 HJE    29 2005-07-04 207
40793  30 HJE    30 2005-07-18 527
40393  33 HJE    33 2005-08-15 82
40531  33 HJE    33 2005-08-15 235
40723  35 JBJ    35 2005-09-12 446
40426  36 HJE    36 2005-09-05 118
40717  37 HJE    37 2005-09-12 440
40730  37 LVE    37 2005-09-12 456
40738  37 HJE    37 2005-09-12 466
40815  37 HJE    37 2005-08-29 550
40637  38 HJE    38 2005-09-19 355
40667  39 HJE    39 2005-09-26 387
40677  39 HJE    39 2005-09-05 398
40843  40 HJE    40 2005-10-03 579
40897  41 HJE    41 2005-10-10 637
40368  44 HJE    44 2005-10-31 52
40922 R2  46 JBJ    46 2005-11-14 700
40903  46-47 LVE    46-47 2005-11-21 644
40905  47 LVE    47 2005-11-21 646
40921  47 LVE    47 2005-11-21 663
40966  47 LVE    47 2005-11-21 714
40349  9 JRH    9 2005-03-01 32
Avatar billede lsskaarup Nybegynder
14. november 2005 - 10:50 #15
En detalje, er at r555 faktisk ikke er en dato, men et ugenr. brugeren selv skriver ind.
Avatar billede kjulius Novice
16. november 2005 - 00:58 #16
Er r555 så et char felt? For så er sorteringen jo ikke forkert. I så fald bliver hver enkelt tegn jo sammenlignet. Her er '9' større end '4' (første tegn i '47'). Derfor bliver id 32 sorteret ned bagi.

Prøv at ændre uge 9 til uge 09. Det burde klare problemet.

Du kunne evt. også prøve at caste det du sorterer på som en numerisk værdi:

ORDER BY CAST(IF((o5.r555 IS NULL OR o5.r555 = 0000-00-00), WEEKOFYEAR(o5.r533c),o5.r555) AS UNSIGNED INTEGER)
Avatar billede lsskaarup Nybegynder
16. november 2005 - 09:08 #17
Det var løsningen (CAST), utroligt at jeg ikke selv kunne se det, når jeg selv skriver at det er 2 forskellige datatyper, dumme mig ;-)

Men tak hjælpen.

Et lille udvidelsesspørgsmål. Kan man styre sorteringen på IF, altså stigende/faldende og hvis ja, hvordan?
Avatar billede kjulius Novice
17. november 2005 - 00:49 #18
Ja, det kan man da heldigvis. Hvis man ønsker at sortere i stigende orden angiver man det med ASC (eller man undlader at skrive noget, da det er underforstået), mens man angiver, at man ønsker at sortere i faldende orden ved at skrive DESC bag feltet.

ORDER BY CAST(IF((o5.r555 IS NULL OR o5.r555 = 0000-00-00), WEEKOFYEAR(o5.r533c),o5.r555) AS UNSIGNED INTEGER) ASC

eller

ORDER BY CAST(IF((o5.r555 IS NULL OR o5.r555 = 0000-00-00), WEEKOFYEAR(o5.r533c),o5.r555) AS UNSIGNED INTEGER) DESC

Man kan også mixe det, hvis man sorterer på flere felter:

ORDER BY felt1 DESC, felt2 ASC, felt3 DESC
hvilket er det samme som
ORDER BY felt1 DESC, felt2, felt3 DESC
Avatar billede kjulius Novice
17. november 2005 - 20:28 #19
Uddybende svar på det sidste spørgsmål:

ASC = Ascending order (stigende orden)
DESC = Descending order (faldende orden)

ASC er default og behøver ikke opgives, da det er det der bruges, hvis der ikke opgives en bestemt sorteringsorden.
Avatar billede lsskaarup Nybegynder
18. november 2005 - 08:19 #20
Jeg er med på selve sorteringen, jeg kunne bare ikke få det til at virke på nogle If-sætninger, men jeg må have placeret sorteringen forkert. Men tak for hjælpen.
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