0
select id, username, email, 
 case
 when username = email then 'true'
 else 'false' 
 end 
 from users

簡単な方法はありますwhen username = email then 'true' as order_colか、またはfrom users where case = true

問題は、ケースをラップしAS caseて注文するか、そのケースで Where ステートメントを使用できるかということです。

4

2 に答える 2

1
 select id, username, email, 
             case when username = email 
                  then 'true'
                  else 'false' 
             end as usr_is_email
 from users
 order by usr_is_email
于 2013-09-06T08:41:24.700 に答える
1

ではエイリアスを使用できますが、では使用できORDER BYないWHEREため、これは機能します。

SELECT id, username, email, 
       CASE 
         WHEN username = email THEN 'true' 
         ELSE 'false' 
       end AS UserNameIsEmail 
FROM   users 
ORDER  BY UserNameIsEmail DESC,
          username ASC

WHERE繰り返し使用するか、サブクエリを使用する場合は、次のようにします。

SELECT id, username, email, usernameisemail 
FROM  (SELECT id, 
              username, 
              email, 
              CASE 
                WHEN username = email THEN 'true' 
                ELSE 'false' 
              end AS UserNameIsEmail 
       FROM   users)X 
WHERE  X.usernameisemail = 'true' 
ORDER  BY username ASC 
于 2013-09-06T08:42:33.373 に答える