Jak sugeruje tytuł, chciałbym wybrać pierwszy wiersz każdego zestawu wierszy zgrupowanych za pomocą GROUP BY. W szczególności, jeśli mam purchasesstół, który wygląda następująco: SELECT * FROM purchases; Mój wynik: id | klient | całkowity --- + ---------- + ------ 1 | Joe | 5 2 | Sally | 3) 3 …
Istnieje tabela, messagesktóra zawiera dane, jak pokazano poniżej: Id Name Other_Columns ------------------------- 1 A A_data_1 2 A A_data_2 3 A A_data_3 4 B B_data_1 5 B B_data_2 6 C C_data_1 Jeśli uruchomię zapytanie select * from messages group by name, otrzymam wynik w postaci: 1 A A_data_1 4 B B_data_1 …
Stół: UserId, Value, Date. Chcę uzyskać identyfikator użytkownika, wartość maks. (Data) dla każdego identyfikatora użytkownika. Oznacza to wartość dla każdego identyfikatora użytkownika, który ma najnowszą datę. Czy jest na to sposób po prostu w SQL? (Najlepiej Oracle) Aktualizacja: Przepraszamy za wszelkie niejasności: muszę uzyskać WSZYSTKIE identyfikatory użytkowników. Ale dla każdego …
Następujące zapytanie: SELECT year, id, rate FROM h WHERE year BETWEEN 2000 AND 2009 AND id IN (SELECT rid FROM table2) GROUP BY id, year ORDER BY id, rate DESC daje: year id rate 2006 p01 8 2003 p01 7.4 2008 p01 6.8 2001 p01 5.9 2007 p01 5.3 2009 …
Załóżmy, że mam tabelę klientów i tabelę zakupów. Każdy zakup należy do jednego klienta. Chcę uzyskać listę wszystkich klientów wraz z ich ostatnim zakupem w jednym wyciągu SELECT. Jaka jest najlepsza praktyka? Wszelkie porady dotyczące budowania indeksów? Proszę użyć tych nazw tabel / kolumn w swojej odpowiedzi: klient: identyfikator, imię …
Czy istnieje dobry sposób na replikację funkcji SQL Server w MySQL ROW_NUMBER()? Na przykład: SELECT col1, col2, ROW_NUMBER() OVER (PARTITION BY col1, col2 ORDER BY col3 DESC) AS intRow FROM Table1 Następnie mógłbym na przykład dodać warunek ograniczenia intRowdo 1, aby uzyskać pojedynczy wiersz z najwyższym col3dla każdej (col1, col2)pary.
Jak uzyskać wiersze zawierające maksymalną wartość dla każdego zgrupowanego zestawu? Widziałem pewne zbyt skomplikowane warianty tego pytania i żadne z dobrą odpowiedzią. Próbowałem stworzyć najprostszy możliwy przykład: Biorąc pod uwagę poniższą tabelę z kolumnami osoby, grupy i wieku, w jaki sposób uzyskasz najstarszą osobę w każdej grupie? (Remis w grupie …
Mam tabelę, która jest pozycją kolekcji dotyczącą tego, kiedy użytkownik był zalogowany. username, date, value -------------------------- brad, 1/2/2010, 1.1 fred, 1/3/2010, 1.0 bob, 8/4/2009, 1.5 brad, 2/2/2010, 1.2 fred, 12/2/2009, 1.3 etc.. Jak utworzyć zapytanie, które dałoby mi najnowszą datę dla każdego użytkownika? Aktualizacja: Zapomniałem, że muszę mieć wartość zgodną …
Chcę zwrócić 10 najlepszych rekordów z każdej sekcji w jednym zapytaniu. Czy ktoś może pomóc w tym, jak to zrobić? Sekcja jest jedną z kolumn w tabeli. Bazą danych jest SQL Server 2005. Chcę zwrócić 10 najlepszych według wprowadzonej daty. Sekcje są biznesowe, lokalne i funkcjonalne. Dla jednej konkretnej daty …
Poniżej przedstawiono najprostszy możliwy przykład, chociaż każde rozwiązanie powinno być w stanie skalować do dowolnej liczby n najlepszych wyników: Biorąc pod uwagę poniższą tabelę z kolumnami osoby, grupy i wieku, w jaki sposób można uzyskać 2 najstarsze osoby w każdej grupie? (Remisy w grupach nie powinny dawać więcej wyników, ale …
Mam tabelę („lms_attendance”) z czasami zameldowania i wymeldowania użytkowników, która wygląda następująco: id user time io (enum) 1 9 1370931202 out 2 9 1370931664 out 3 6 1370932128 out 4 12 1370932128 out 5 12 1370933037 in Próbuję utworzyć widok tej tabeli, który wyprowadziłby tylko najnowszy rekord na identyfikator użytkownika, …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.