SELECT * FROM raw_stock WHERE date ='2002-09-23'按令牌分组 按时间
然后我得到了:
SELECT
列表不在GROUP BY
子句中,并且包含非聚合列'db.table.table_id'
,该列在功能上不依赖于GROUP BY
子句中的列;这与sql_mode=only_full_group_by
但这就是如果您不在拥有全局权限的共享主机上
该问题可能看起来像重复问题,但并非如此,如果您拥有专用的VPS服务器,则可以禁用ONLY_FULL_GROUP_BY ...但是当您在共享托管上托管应用程序时,情况就不一样了。如果您尝试禁用ONLY_FULL_GROUP_BY,它将告诉您,您没有管理员权限。如果有错,请纠正我
答案 0 :(得分:0)
您需要按列选择所有列的名称,并将它们也应用在group by子句中,否则,这将导致错误,因为group by仅用于聚合,尽管从您的问题尚不清楚为什么需要group通过查询
SELECT column1,column2, column3,... FROM raw_stock WHERE date='2002-09-23' group by column1,column2, column3,... ORDER BY time
答案 1 :(得分:0)
您可以在运行时更改sql_mode
。
这就是它在运行时应该如何工作
// connect to mysql and call the first query
mysqli_query("SET SESSION sql_mode = 'TRADITIONAL'");
OR
mysqli_query($conn, "SET SESSION sql_mode = 'TRADITIONAL'");
如果mysql_query
不起作用,请尝试mysqli_query
。