Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

SQL Server :jak wybrać stałą liczbę wierszy (wybierz każdą x-tą wartość)

Zasadniczo wszystko, co musisz zrobić, aby wybrać x-tą wartość, to zachować wszystkie wiersze, w których moduł numeru wiersza podzielony przez x wynosi 0.

WHERE rn % @x_thValues = 0

Teraz możesz używać swojego ROW_NUMBER , musisz umieścić całą instrukcję w podselekcji

SELECT  *
FROM    (
            SELECT  *
                    , rn = ROW_NUMBER() OVER (ORDER BY Value)
            FROM    DummyData
        ) d
WHERE   rn % @x_thValues = 0                    

W połączeniu ze zmienną do jakich x-tych wartości potrzebujesz, możesz użyć czegoś takiego jak ten testscript

DECLARE @x_thValues INTEGER = 2

;WITH DummyData AS (SELECT * FROM (VALUES (1), (2), (3), (4)) v (Value))
SELECT  *
FROM    (
            SELECT  *
                    , rn = ROW_NUMBER() OVER (ORDER BY Value)
            FROM    DummyData
        ) d
WHERE   rn % @x_thValues = 0                    


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak podzielić ciąg na kolumny dla widoku?

  2. Zapytanie o najwyższej wydajności procesora SQL Server -2

  3. Dynamiczna tabela przestawna z wieloma kolumnami na serwerze sql

  4. Udzielić użytkownikowi uprawnienia do wykonywania wszystkich procedur składowanych w bazie danych?

  5. 3 sposoby na uzyskanie nazwy dnia z daty w SQL Server (T-SQL)