Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 311 Pomógł: 13 Dołączył: 7.05.2007 Ostrzeżenie: (0%)
|
Szybkie pytanko do bardziej "obcykanych" w MySQLu ode mmnie: Czy takie zapytanie:
da się obrobić jedną kwerendą czy trzeba rozbijać na dwie? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%)
|
Takie coś, zakładając, że w kolumnie moderated są wartości 0/1 zwróci Ci dwa wiersze, jedno z liczbą sprawdzonych, drugie z liczbą niesprawdzonych aktualności. Łączną liczbę możesz sobie wyliczyć jako sumę tych dwóch wierszy. |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 311 Pomógł: 13 Dołączył: 7.05.2007 Ostrzeżenie: (0%)
|
Czaję motyw. Zwraca takiego arraya:
Kod cnt moderated 3 0 1 1 Gdzie moderated rozumiem odpowiada stanowi tego newsa (0 oczekujacy, 1 dodany, -1 usuniety itp) Ale czy zawsze wyniki będą zwracane w kolejności co do ilości czy mozna je posortować wg stanu moderated? Co jeśli user bedzie miał tylko usunięte i dodane newsy (stany 1 i -1) Wtedy nie będę miał środkowego wiersza. Obawiam się, że moge się w tym pokrcić |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%)
|
1. Nie ma klauzuli ORDER BY więc należy uważać kolejność zwracanych wierszy za [b]kompletnie losową[b].
2. Jeżeli dany użytkownik nie ma aktualności w danym stanie nie zostanie zwrócony dla niego rekord, także wartość 0 trzeba ustalić sobie na poziomie np. PHP - można zrobić to po stronie bazy danych (również zliczanie łącznej wartości) ale łatwiej jest to zrobić po stronie aplikacji. Przykładowo mógłbyś zrealizować sobie to tak:
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%)
|
|
|
|
|
![]() ![]() |
|
Aktualny czas: 20.12.2025 - 20:09 |