Re: [SQL ] 請教這個問題如何下SQL呢?
※ 引述《ylk (YLK)》之銘言:
: ※ 引述《weisor (無所事事)》之銘言:
: : 只取一筆
: : select * from T
: : order by case when (used > 0) then 1 else 0 end desc, time asc
: : limit 1
: : 噁心的寫法
: : select * from T
: : join (
: : select case when used > 0 then 1 else 0 end as u, min(time)as t from T
: : group by case when used > 0 then 1 else 0 end) x
: : on x.u = case when used > 0 then 1 else 0 end and x.t = T.time
: : where (exists(select * from T where used > 0) and used > 0)
: : or (not exists(select * from T where used > 0) and used = 0)
: 謝謝您的指導。
: 想請問您,您的環境是? case 這個欄位代表的意思是?
case statement
mysql, postgres, db2, mssql 都有支援
請參考
http://msdn2.microsoft.com/zh-tw/library/ms181765.aspx
http://www.postgresql.org/docs/8.1/interactive/functions-conditional.html
http://publib.boulder.ibm.com/infocenter/db2luw/v8/
topic/com.ibm.db2.udb.doc/admin/r0005646.htm
http://dev.mysql.com/doc/refman/5.1/en/case-statement.html
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.104.29.35
討論串 (同標題文章)
Database 近期熱門文章
PTT數位生活區 即時熱門文章