Empfohlen (kostenlos): SQL-Tutorial
1. Zeilen- und Spaltenkonvertierung
Frage: Angenommen, es gibt eine Schülerbewertungstabelle (tb) wie folgt:
Möchten Sie werden (Erhalten Sie die folgenden Ergebnisse):
Code:
WITH tb(姓名,课程,分数) AS ( SELECT N'张三',N'语文',74 UNION ALL SELECT N'张三',N'数学',83 UNION ALL SELECT N'张三',N'物理',93 UNION ALL SELECT N'李四',N'语文',79 UNION ALL SELECT N'李四',N'数学',86 UNION ALL SELECT N'李四',N'物理',88 ) SELECT 姓名 , MAX(CASE 课程 WHEN '语文' THEN 分数 ELSE 0 END) 语文, MAX(CASE 课程 WHEN '数学' THEN 分数 ELSE 0 END) 数学, MAX(CASE 课程 WHEN '物理' THEN 分数 ELSE 0 END) 物理 FROM tb GROUP BY 姓名
2, Paging
Option 1: Verwenden Sie NOT IN und SELECT TOP Paging-Anweisungsformulare
SELECT TOP 10 * FROM TestTable WHERE ID NOT IN (SELECT TOP 20 ID FROM TestTable ORDER BY ID) ORDER BY ID
Option 2: Verwenden Sie die ID größer als wie viel und wählen Sie Top Paging -Anweisungsformular
SELECT TOP 10 * FROM TestTable WHERE ID > ( SELECT MAX(id) FROM (SELECT TOP 20 id FROM TestTable ORDER BY id) AS T) ORDER BY ID
option 3: Verwenden Sie die Funktion row_number in SQL Server für Paging
SELECT * FROM ( SELECT ROW_NUMBER() OVER(ORDER BY ID DESC) AS ROWID,* FROM TestTable ) AS mytable where ROWID between 21 and 40
3. SELECT * FROM A
UNION
SELECT * FROM B
Doppelte Zeilen nicht zusammenführen
SELECT * FROM A UNION ALL SELECT * FROM B
4. Zufällige Sortierung
SELECT * FROM TestTable ORDER BY NEWID()Sie können auch TOP kombinieren, um die zufälligen ersten N Datensätze zu erhalten
5 Trennen Sie die Daten auf beiden Seiten mit einem beliebigen Symbol
Zum Beispiel verwenden wir Komma (,), um Daten zu trennen, und teilen die folgenden Daten
in die folgende Abbildung auf:
SELECT TOP 100 * FROM TestTable ORDER BY NEWID()Der Code ist lang, wir teilen den Code auf, um ihn zu verstehen:
SELECT R, CASE WHEN CHARINDEX(',',R)>1 THEN LEFT(R,CHARINDEX(',',R)-1) ELSE NULL END AS R1 , CASE WHEN CHARINDEX(',',R)>1 THEN RIGHT(R,(LEN(R) - CHARINDEX(',',R))) ELSE NULL END AS R2 FROM tIm letzten Schritt teilen wir „A,B“ auf. Nachdem B getrennt wurde, können wir auf ähnliche Weise auch A erhalten.
6. WAITFOR verzögerte Ausführung
Beispiel: Warten Sie 1 Stunde, 2 Minuten und 3 Sekunden, bevor Sie die SELECT-Anweisung ausführen. Dabei ist DELAY die Verzögerung vor Beginn der Ausführung.
EMample: Warten Sie bis 23:08 Uhr, um die Auswahl der Auswahl von Anweisungen auszuführen.
Das obige ist der detaillierte Inhalt vonGeben Sie ruhig 6 SQL-Abfragetipps weiter. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!