[英]How to do * and a calculation in SELECT statement mySQL?
我正在尝试执行以下mySQL查询:
SELECT
SQL_CALC_FOUND_ROWS,
TIMESTAMPDIFF(DAY, date_identified,
IFNULL(date_closed,
CURDATE())) as days_open,
*
FROM (`risks`)
ORDER BY `WBS` ASC LIMIT 10
但我一直出错。 但是,如果我删除SQL_CALC_FOUND_ROWS
和*
而改为:
SELECT
id, TIMESTAMPDIFF(DAY, date_identified,
IFNULL(date_closed,
CURDATE())) as days_open
FROM (`risks`)
ORDER BY `WBS` ASC LIMIT 10
然后查询成功执行。 有什么办法可以更改此查询以包含SQL_CALC_FOUND_ROWS
和*
?
sql_calc_found_rows
是指令,而不是字段,您不要在其后加逗号:
SELECT SQL_CALC_FOUND ROWS field1, field2, calc1, calc2, etc...
^--- no comma
类似于INSERT IGNORE
忽略是指令,而不是字段。
我可以想到的最简单的方法是在*
之前包括行源名称(或别名):
SELECT SQL_CALC_FOUND_ROWS
TIMESTAMPDIFF(DAY, date_identified, IFNULL(date_closed, CURDATE())) as days_open,
`risks`.*
FROM
(`risks`)
ORDER BY
`WBS` ASC
LIMIT 10
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.