2016-04-21 119 views

回答

2

你有一些選擇,但我喜歡這裏的聯接。

假設你有一個唯一的名稱字段(使用類似ID的唯一行標識符可能是更好的):

SELECT p.name 
    FROM person p 
    JOIN person po 
    ON po.name = :name_that_you_know 
WHERE p.dob > po.dob 

這種交叉連接每個人的行與你指定的人的行。 結果由出生日期比較過濾。

或者,你可以在JOIN條件進行過濾:

SELECT p.name 
    FROM person p 
    JOIN person po 
    ON po.name = :name_that_you_know 
    AND po.dob < p.dob 
1

使用簡單的MySQL查詢像

SELECT a.name, b.dob FROM table a INNER JOIN table b ON b.name = 'john' AND a.dob > b.dob

類似的東西

+0

我不知道出生日期,我只知道這個人的名字。 – Rizhiy

1

這將找到一個DOB比你一個人不知道自己的出生日期的更大(或以下)所有的人,但知道他們的名稱:

SELECT name 
FROM yourTable 
WHERE DOB > (SELECT DOB FROM yourTable WHERE name = 'nameyouknow'); 
相關問題