我還沒有在SQL中使用過級聯,也不知道如何做到這一點。如何訂購電子郵件地址域的查詢?
說我有一個電子郵件列包含幾個電子郵件地址(varchar)。 然後我有另一列LastLogin(日期時間)。
[email protected]
[email protected]
[email protected]
查詢如何查找首先按lastLogin日期排序,然後按電子郵件的域名排序?
我還沒有在SQL中使用過級聯,也不知道如何做到這一點。如何訂購電子郵件地址域的查詢?
說我有一個電子郵件列包含幾個電子郵件地址(varchar)。 然後我有另一列LastLogin(日期時間)。
[email protected]
[email protected]
[email protected]
查詢如何查找首先按lastLogin日期排序,然後按電子郵件的域名排序?
您可以使用charindex()
和substring()
:
order by lastLogin,
substring(email, charindex('@', email) + 1, len(email))
如果你想登錄的日期組件:
order by cast(lastLogin as date),
substring(email, charindex('@', email) + 1, len(email))
試試這可能有助於
select * from table order by `lastLogin date`,reverse(email);
假設你'使用MySQL,f ollowing查詢應爲你工作:
SELECT * FROM YourTable ORDER BY lastLogin, SUBSTRING_INDEX(email, '@', -1);
您提供SUBSTRING_INDEX列,您的分隔符和分隔符爲-1的出現次數的名字,爲了以後獲得的左側一切分隔符。
錯誤的假設。 –