如何做这个简单的mysql select语句

时间:2011-08-29 15:22:39

标签: mysql

我正在学习更多关于SQL的知识,并且已经发现它已经解决了我将要在PHP中进行后期修复的问题,现在我发现mysql可以在回溯中做到。

我的查询就是这个。

    SELECT *
                            FROM  `messages` 
                            LEFT JOIN  `users` ON messages.message_by = users.id
                            WHERE job_id =  '135'
                            ORDER BY message_date DESC

但我现在想要这样做,

    SELECT DATE_ADD(`message_date`, INTERVAL 6 HOUR) AS `message_date`, *
                            FROM  `messages` 
                            LEFT JOIN  `users` ON messages.message_by = users.id
                            WHERE job_id =  '135'
                            ORDER BY message_date DESC

date_add部分修复了时区差异问题,但是当我把它放在语句的选择部分时,我现在不知道如何使用*(然后是其他所有内容)它不起作用。我不想在检索之后列出每个字段,因为我已经添加了这个日期修复...

有什么办法吗?感谢。

1 个答案:

答案 0 :(得分:1)

只需添加表格的名称,它就可以正常工作

SELECT DATE_ADD(`message_date`, INTERVAL 6 HOUR) AS `message_date`, messages.*
                            FROM  `messages` 
                            LEFT JOIN  `users` ON messages.message_by = users.id
                            WHERE job_id =  '135'
                            ORDER BY message_date DESC

另外,您确定需要选择所有字段吗?您只需选择所需的列即可提高速度。