SQL Server 2008'de 150 satır içeren bir tabloda MEN var. ben sadece çift veya tek tek satırları nasıl gösterebilecekleriniSQL Server 2008'de sadece tek veya tek satırların nasıl gösterileceği?
?
SQL Server 2008'de 150 satır içeren bir tabloda MEN var. ben sadece çift veya tek tek satırları nasıl gösterebilecekleriniSQL Server 2008'de sadece tek veya tek satırların nasıl gösterileceği?
?
önceden
teşekkür Çeki dışarı ROW_NUMBER()
SELECT t.First, t.Last
FROM (
SELECT *, Row_Number() OVER(ORDER BY First, Last) AS RowNumber
--Row_Number() starts with 1
FROM Table1
) t
WHERE t.RowNumber % 2 = 0 --Even
--WHERE t.RowNumber % 2 = 1 --Odd
Evet, bunu yayınlamadan önce bir sorgu oluşturma şansım olmadı ... ama cevabımı uzattım. –
tablonuzu varsayarsak "rowID" Otomatik numaralandırılmış alanı vardır ve ROWID çift veya tek nerede olduğunu sadece kayıtları seçmek istiyor.
garip göstermek için:
Select * from MEN where (RowID % 2) = 1
bile göstermek için:
Select * from MEN where (RowID % 2) = 0
YOu hiçbir zaman boşluk bırakamaz! Kayıtlar silinecek ve işlemler geri çekilecek. – HLGEM
Asla asla deme. Bazen yapabilirsin. Örneğin, statik bir tanım tablonuz varsa. Ama soru bir şey varsaymak için net değil, bu yüzden haklısınız. –
bu deneyin:
küsur: hatta
select * from(
SELECT col1, col2, ROW_NUMBER() OVER(ORDER BY col1 DESC) AS 'RowNumber',
FROM table1
) d where (RowNumber % 2) = 1
:
Ardındanselect * from(
SELECT col1, col2, ROW_NUMBER() OVER(ORDER BY col1 DESC) AS 'RowNumber',
FROM table1
) d where (RowNumber % 2) = 0
SELECT *
FROM
(
SELECT rownum rn, empno, ename
FROM emp
) temp
WHERE MOD(temp.rn,2) = 1
select * from Tablename
where id%2=0
çift sayı :: seçin * MEN alma için olduğu Men_ID% 2 = 0; Takip
MEN tek sayı :: Seç * alma için nerede Men_ID% 2 = 0!;
İşte MEN sizin tablo_ismi Men_ID MEN Tablo sütun olmasıdır.
SELECT * FROM (SELECT ROW_NUMBER() OVER (ORDER BY sal DESC) row_number, sr,sal FROM empsal) a WHERE (row_number%2) = 1
ve hatta için
SELECT * FROM (SELECT ROW_NUMBER() OVER (ORDER BY sal DESC) row_number, sr,sal FROM empsal) a WHERE (row_number%2) = 0
kayıt değerleri:
seçme * www mod (maaş, 2) = 0; garip değerler Kayıt için
:
select * www nerede mod (maaş, 2) = 0;
FASTER: Modül yerine bitsel.
select * from MEN where (id&1)=0;
Rasgele soru: Büyük harfli tablo adlarını kullanıyor musunuz? Genellikle büyük harf anahtar kelimeler için ayrılmıştır. (Geleneksel olarak)
tek sayı sorgusu:
SELECT *
FROM (SELECT rownum rn, empno, ename
FROM emp
) temp
WHERE MOD(temp.rn,2) = 1
çift sayı sorgusu:
SELECT *
FROM (SELECT rownum rn, empno, ename
FROM emp
) temp
WHERE MOD(temp.rn,3) = 0
Tek ya da neyi kriterlere göre? A, C, E, ... veya B, D, F vb. Anlamına gelebilirsin.Yoksa ORDER BY maddesine göre satır dizini demek istiyorsun ... ... ama sonra ne sipariş edeceksin? – gbn