Zum Hauptinhalt springen

Wie kann ich Benutzer eines bestimmten Alters mit SQL auswählen

Um Personen eines bestimmten Alters in SQL abzuleiten, müssen Sie Vergleichsoperatoren und Datumsfunktionen verwenden. Ein solcher Operator ist der Operator "ZWISCHEN", mit dem Sie Zeilen auswählen können, deren Werte sich innerhalb eines bestimmten Bereichs befinden. Um Personen eines bestimmten Alters zu finden, müssen Sie den Altersbereich festlegen, in dem sie sich befinden. Um beispielsweise Personen zwischen 18 und 25 Jahren zu finden, verwenden Sie die folgende Abfrage:

SELECT * FROM people

WHERE age BETWEEN 18 AND 25;

Der Operator "ZWISCHEN" wählt alle Zeilen aus, deren Wert für das Feld "age" innerhalb des angegebenen Bereichs liegt. Als Ergebnis der Abfrage werden alle Felder aus der Tabelle "Personen" angezeigt, die dem angegebenen Alterbereich entsprechen.

SELECT * FROM people

Diese Abfrage verwendet die Funktion "NOW()", die das aktuelle Datum und die aktuelle Uhrzeit zurückgibt, und die Funktion "DATE_SUB", die 30 Jahre vom aktuellen Datum subtrahiert. Der Operator "< people", wobei der Wert der Spalte "age" zwischen 20 und 30 liegt.

Funktion DATE_SUB:

Wenn Sie Personen auswählen müssen, deren Geburtstage sich in einem bestimmten Bereich befinden, können Sie die DATE_SUB-Funktion verwenden, um das Datum basierend auf dem aktuellen Datum zu berechnen. Zum Beispiel:

SELECT * FROM people WHERE birthday >= DATE_SUB(CURDATE(), INTERVAL 30 YEAR) AND birthday

Diese Abfrage wählt alle Personen aus, deren Geburtstage zwischen dem 20. und 30. Lebensjahr des aktuellen Datums liegen.

EXTRACT-Funktion:

Eine weitere Möglichkeit, Daten nach Alter zu filtern, ist die Verwendung der EXTRACT-Funktion. Es ermöglicht Ihnen, Datumskomponenten wie Jahr, Monat und Tag zu extrahieren. Die folgende Abfrage wählt beispielsweise alle Personen aus, deren Alter 30 Jahre beträgt:

SELECT * FROM people WHERE EXTRACT(YEAR FROM birthday) = 1990;

Diese Abfrage gibt alle Zeilen aus der Tabelle "people" zurück, wobei das Geburtsjahr 1990 ist.

Je nach verwendetem DBMS und Tabellenstruktur kann es auch andere Optionen zum Filtern von Daten nach Alter geben. Die oben beschriebenen Methoden sind jedoch die gebräuchlichsten und universellsten.

Wie bekomme ich Leute, die älter als ein bestimmtes Alter in SQL sind

Häufig müssen Sie alle Datensätze aus einer Datenbank auswählen, die einem bestimmten Kriterium entsprechen, z. B. Personen, die älter als ein bestimmtes Alter sind. SQL bietet mehrere Möglichkeiten, diese Aufgabe zu lösen.

Zunächst benötigen Sie eine Tabelle, die Daten zu Personen enthält, einschließlich einer Spalte mit dem Alter. Wir werden eine Beispieltabelle "People" mit einer Spalte "Age" verwenden.

CREATE TABLE People (Age INT);INSERT INTO People (Age)VALUES (20), (25), (30), (35), (40);

Also, wie finde ich alle Menschen über 30? Hier sind einige Möglichkeiten:

    Verwenden des Operators "GREATER THAN" ( > ):

SELECT *FROM PeopleWHERE Age > 30;
SELECT *FROM PeopleWHERE Age BETWEEN 31 AND 100;
SELECT *FROM PeopleWHERE DATE_ADD(CURRENT_DATE(), INTERVAL -30 YEAR) > Age;

Wie Sie sehen können, gibt es in SQL mehrere Möglichkeiten, Leute älter als ein bestimmtes Alter zu bekommen. Sie können den für Sie am besten geeigneten auswählen und in Ihren Anfragen verwenden.

  • SELECT name, birthday FROM people WHERE date_diff(CURRENT_DATE, birthday) < 25;

In dieser Abfrage wird die date_diff-Funktion verwendet, um die Differenz zwischen dem aktuellen Datum und dem Geburtsdatum in Jahren zu berechnen. Das Ergebnis wird dann mit 25 verglichen, um nur Personen zu finden, deren Alter kleiner als der angegebene Wert ist.

Das Ergebnis der Abfrage ist eine Liste der Namen und Geburtsdaten von Personen unter 25 Jahren.

Anmerkung: die genaue Syntax und die genauen Funktionen können je nach verwendeter Datenbank variieren. Stellen Sie daher sicher, dass das obige Beispiel mit der Spezifikation Ihrer Datenbank übereinstimmt.

Um Personen eines bestimmten Alters in SQL abzuleiten, müssen Sie Vergleichsoperatoren und eine Funktion verwenden, um mit Datumsangaben zu arbeiten. Hier sind einige Beispielabfragen:

1. Bringen Sie alle Menschen heraus, die 25 Jahre alt sind:

SELECT *FROM peopleWHERE DATEDIFF(NOW(), birth_date) >= 25 * 365;

2. Die Vor- und Nachnamen von Personen ableiten, die im laufenden Jahr 30 Jahre alt geworden sind:

SELECT first_name, last_nameFROM peopleWHERE YEAR(birth_date) = YEAR(NOW()) - 30;

3. Die Anzahl der Personen eines bestimmten Alters ableiten (z. B. 40 Jahre):

SELECT COUNT(*)FROM peopleWHERE DATEDIFF(NOW(), birth_date) >= 40 * 365 AND DATEDIFF(NOW(), birth_date) < 41 * 365;