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.
Annonceindlæg fra Pointsharp
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
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.
28. oktober 2005 - 13:01
#3
Ingen som kan hjælpe?
03. november 2005 - 23:49
#4
Kan du ikke sortere på ORDER BY CASE WHEN Levtegn IS NULL THEN Lev ELSE Levtegn END ?
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.
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
05. november 2005 - 13:29
#7
Jeps alias kan den åbenbart ikke forstå, jeg prøver lige med din nye sætning på mandag
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.
10. november 2005 - 11:44
#9
??Hmm?? kan man ikke bare fyrer sql-koden af i phpmyadmin? Den brokker sig nemlig over CASE.
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)
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...
14. november 2005 - 10:21
#12
Det gør ingen forskel
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.
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
14. november 2005 - 10:50
#15
En detalje, er at r555 faktisk ikke er en dato, men et ugenr. brugeren selv skriver ind.
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)
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?
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
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.
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.
Computerworld tilbyder specialiserede kurser i database-management