![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 9.02.2015 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Tworzę serwis w którym będę listował rekordy z pewnej tabeli. Zapytanie będzie miało kilka parametrów (przykładowo: p1, p2, p3, p4, p5). Generalnie chciałbym aby wyniki były zwracane wg zgodności, tj. najpierw wyniki w których wszystkie 5 parametrów są równe, następnie takie w których równe są 4 parametry, 3, itd. Zastanawiam się co jest lepszym rozwiązaniem: rozbicie zapytań na kilka oddzielnych czy połączenie ich za pomocą UNION? Inną sprawą jest to że jednym z parametrów będzie data (w formacie RRRR:MM:DD gg:mm:ss) i zależałoby mi na tym aby najpierw wyświetlane były rekordy o równej dacie, a następnie o maksymalnie zbliżonej. Można by to rozwiązać poprzez sortowanie ale problemem jest to że data będzie tylko jednym z atrybutów, przy czym nie będzie miała najwyższej wagi. Jak taki problem najlepiej rozwiązać w SQL? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 9.02.2015 Ostrzeżenie: (0%) ![]() ![]() |
Czy sortowanie wyników jest jedyną różnicą?
Właściwie to będę chciał stosować inne kryterium sortowania dla każdego z podwyników (wg p1 dla 5 zgodnych parametrów, wg p2 dla 4, wg p4 dla 3 zgodnych itp) więc globalne sortowanie nie jest mi tak potrzebne. Interesowała mnie bardziej kwestia wydajności. Lepsze jedno wielkie czy 10 małych zapytań? A co z opisanym przeze mnie problemem dat? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 21:12 |