编写SQL语句时难免会遇到各种条件判断,例如统计:count(case when then end)
今天,我们要说的是if判断,eg:
SELECT IF(c19='1','已评价','未评价')c19 FROM A05;
关于伪列,广为人知的是oracle有伪列rownum,因为一些需求需要用mysql实现类似Oracle的伪列,方法方式如下:
SELECT rowid, i01,i03 FROM (SELECT @rownum:=@rownum+1 AS rowid, i01,i03 FROM (SELECT @rownum:=0) r, A33 WHERE i05=0 AND a01='7fa4a9f8-bcc0-48df-b455-ee7d6df42cff' ORDER BY i02 ASC)tab WHERE tab.rowid=3
统计之:拿rownum当序号使用
SELECT
(@i := @i + 1) AS i,
t.*
FROM
(SELECT
@i := 0) AS it,
tab t
原理是相通的!