Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL]Problem z sortowaniem w MySQL
Forum PHP.pl > Forum > Przedszkole
northwest
Witam serdecznie,
Mam takie zapytanie:
  1. SELECT * FROM cms_obiekty WHERE typobiektu = '1' AND STATUS <> '0' AND STATUS = '1' ORDER BY RAND(), special DESC, polecany DESC, panoramka DESC LIMIT 0,10


w polach: special , polecany i panoramka mam wartości 0 i 1.

chciałbym żeby wyniki były w ww polach od 1 do 0 i żeby był wymieszane między sobą (losowo wymieszane) - ale z zachowaniem sortowania...

Da się coś takiego zrobić?


Z góry dziki za pomoc,
Northwest
nospor
Trochę nie na temat ale jak widzę takie rzeczy to nie mogę przejśc obojętnie:
STATUS <> '0' AND STATUS = '1'
jesli status będzie równe 1 to logiczne, że będzie różne od 0
i już:
STATUS = '1'
pianta_d
Ja jeszcze wrzuciłbym w nawiasy

  1. SELECT * FROM cms_obiekty WHERE (typobiektu = '1' AND STATUS <> '0' AND STATUS = '1') ORDER BY RAND(), special DESC, polecany DESC, panoramka DESC LIMIT 0,10


Pozdrawiam
northwest
nie do końca działą sad.gif ignoruje te sortowania od 1 do 0... sad.gif
pianta_d
Ale oprócz tego nie musisz wyszukiwać danych z pola STATUS ponieważ, z tego co rozumiem, przechowujesz tam tylko wartości z zakresu 0..1

  1. SELECT * FROM `cms_obiekty` WHERE `typobiektu` = '1' ORDER BY RAND(), `special` DESC, `polecany` DESC, `panoramka` DESC LIMIT 0,10



Poza tym zamiast DESC daj ASC - chcesz sortować od większej do mniejszej


Pozdrawiam
northwest
kurcze,nie działa sad.gif ani z ASC, ani z DESC... ciągle 0 jest przed 1...
pianta_d
daj strukturę bazy i dane - część przykładową





northwest
mam taką bazę:
  1. CREATE TABLE IF NOT EXISTS `cms_obiekty` (
  2. `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `idusera` int(60) DEFAULT NULL,
  4. `typobiektu` smallint(2) DEFAULT NULL,
  5. `rodzajobiektu` smallint(2) DEFAULT NULL,
  6. `otwarty` char(1) collate utf8_unicode_ci DEFAULT NULL,
  7. `nazwa` varchar(200) collate utf8_unicode_ci NOT NULL,
  8. `kodpocztowy` varchar(10) collate utf8_unicode_ci DEFAULT NULL,
  9. `miasto` varchar(100) collate utf8_unicode_ci DEFAULT NULL,
  10. `ulica` varchar(90) collate utf8_unicode_ci DEFAULT NULL,
  11. `tel` varchar(25) collate utf8_unicode_ci DEFAULT NULL,
  12. `tel2` varchar(25) collate utf8_unicode_ci DEFAULT NULL,
  13. `fax` varchar(16) collate utf8_unicode_ci DEFAULT NULL,
  14. `email` varchar(60) collate utf8_unicode_ci DEFAULT NULL,
  15. `gg` varchar(11) collate utf8_unicode_ci DEFAULT NULL,
  16. `skype` varchar(60) collate utf8_unicode_ci DEFAULT NULL,
  17. `www` varchar(60) collate utf8_unicode_ci DEFAULT NULL,
  18. `cenaod` smallint(60) DEFAULT NULL,
  19. `cenado` smallint(60) DEFAULT NULL,
  20. `youtube` varchar(150) collate utf8_unicode_ci DEFAULT NULL,
  21. `opis` text collate utf8_unicode_ci,
  22. `za1osobe` varchar(1) collate utf8_unicode_ci DEFAULT NULL,
  23. `za1domek` varchar(1) collate utf8_unicode_ci DEFAULT NULL,
  24. `za1apartamentpokoj` char(1) collate utf8_unicode_ci DEFAULT NULL,
  25. `lazienka` char(1) collate utf8_unicode_ci DEFAULT NULL,
  26. `dostosowany_dla_niepelnosprawnych` char(1) collate utf8_unicode_ci DEFAULT NULL,
  27. `lodowka_w_pokoju` char(1) collate utf8_unicode_ci DEFAULT NULL,
  28. `boisko` char(1) collate utf8_unicode_ci NOT NULL,
  29. `sprzet_plazowy` char(1) collate utf8_unicode_ci NOT NULL,
  30. `udostepniamy_rowery` char(1) collate utf8_unicode_ci NOT NULL,
  31. `dostep_do_internetu` char(1) collate utf8_unicode_ci NOT NULL,
  32. `plac_zabaw` char(1) collate utf8_unicode_ci NOT NULL,
  33. `sejf` char(1) collate utf8_unicode_ci NOT NULL,
  34. `akceptujemy_zwierzeta` char(1) collate utf8_unicode_ci NOT NULL,
  35. `mikrofalowka` char(1) collate utf8_unicode_ci NOT NULL,
  36. `grill` char(1) collate utf8_unicode_ci NOT NULL,
  37. `aneks_kuchenny` char(1) collate utf8_unicode_ci NOT NULL,
  38. `tenis_stolowy` char(1) collate utf8_unicode_ci NOT NULL,
  39. `czajnik` char(1) collate utf8_unicode_ci NOT NULL,
  40. `bilard` char(1) collate utf8_unicode_ci NOT NULL,
  41. `klimatyzacja` char(1) collate utf8_unicode_ci NOT NULL,
  42. `pralka` char(1) collate utf8_unicode_ci NOT NULL,
  43. `sprzatanie` char(1) collate utf8_unicode_ci NOT NULL,
  44. `karta` char(1) collate utf8_unicode_ci NOT NULL,
  45. `parking` char(1) collate utf8_unicode_ci NOT NULL,
  46. `niemiecki` char(1) collate utf8_unicode_ci NOT NULL,
  47. `restauracja` char(1) collate utf8_unicode_ci NOT NULL,
  48. `angielski` char(1) collate utf8_unicode_ci NOT NULL,
  49. `tv` char(1) collate utf8_unicode_ci NOT NULL,
  50. `data` date NOT NULL,
  51. `status` char(1) collate utf8_unicode_ci NOT NULL,
  52. `f1` varchar(60) collate utf8_unicode_ci NOT NULL,
  53. `f2` varchar(60) collate utf8_unicode_ci NOT NULL,
  54. `f3` varchar(60) collate utf8_unicode_ci NOT NULL,
  55. `f4` varchar(60) collate utf8_unicode_ci NOT NULL,
  56. `f5` varchar(60) collate utf8_unicode_ci NOT NULL,
  57. `f6` varchar(60) collate utf8_unicode_ci NOT NULL,
  58. `f7` varchar(60) collate utf8_unicode_ci NOT NULL,
  59. `f8` varchar(60) collate utf8_unicode_ci NOT NULL,
  60. `f9` varchar(60) collate utf8_unicode_ci NOT NULL,
  61. `f10` varchar(60) collate utf8_unicode_ci NOT NULL,
  62. `szer` varchar(22) collate utf8_unicode_ci NOT NULL,
  63. `dl` varchar(22) collate utf8_unicode_ci NOT NULL,
  64. `panoramka` varchar(60) collate utf8_unicode_ci NOT NULL,
  65. `special` smallint(6) NOT NULL,
  66. `polecany` smallint(6) NOT NULL,
  67. `lazienkawpokoju` char(1) collate utf8_unicode_ci NOT NULL,
  68. `licznik` smallint(6) NOT NULL DEFAULT '0',
  69. `datarejestacji` date NOT NULL,
  70. `tokken` varchar(20) collate utf8_unicode_ci NOT NULL,
  71. PRIMARY KEY (`id`),
  72. UNIQUE KEY `id` (`id`)
  73. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
  74.  
  75. INSERT INTO `cms_obiekty` (`id`, `idusera`, `typobiektu`, `rodzajobiektu`, `otwarty`, `nazwa`, `kodpocztowy`, `miasto`, `ulica`, `tel`, `tel2`, `fax`, `email`, `gg`, `skype`, `www`, `cenaod`, `cenado`, `youtube`, `opis`, `za1osobe`, `za1domek`, `za1apartamentpokoj`, `lazienka`, `dostosowany_dla_niepelnosprawnych`, `lodowka_w_pokoju`, `boisko`, `sprzet_plazowy`, `udostepniamy_rowery`, `dostep_do_internetu`, `plac_zabaw`, `sejf`, `akceptujemy_zwierzeta`, `mikrofalowka`, `grill`, `aneks_kuchenny`, `tenis_stolowy`, `czajnik`, `bilard`, `klimatyzacja`, `pralka`, `sprzatanie`, `karta`, `parking`, `niemiecki`, `restauracja`, `angielski`, `tv`, `data`, `status`, `f1`, `f2`, `f3`, `f4`, `f5`, `f6`, `f7`, `f8`, `f9`, `f10`, `szer`, `dl`, `panoramka`, `special`, `polecany`, `lazienkawpokoju`, `licznik`, `datarejestacji`, `tokken`) VALUES
  76. (1, 78, 2, 1, '1', 'The Mexican', '81-123', 'SOPOT', 'Sobieskiego', '4354534534', '123467', '123456', 'nazwa@nazwa.com', '', '', 'www.nazwa.pl', 0, 0, '', 'opis', '', '', '', '', '1', '', '', '', '', '1', '', '', '', '', '', '', '', '', '', '', '', '', '1', '', '1', '', '1', '', '2012-12-31', '1', '', '', '', '', '', '', '', '', '', '', '0', 0', '', 0, 0, '', 672, '2011-01-16', ''),
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.