在升级到MySQL 8.0之前,我以前使用GROUP BY不选择重复项,但现在我得到了:
1055 - SELECT list的表达式#2不是按子句分组,而是包含非聚合列'database.orders.ID‘,它在功能上不依赖于按子句分组的列;这与sql_mode=only_full_group_by不兼容,时间:0.02800s
我知道我可以按以下方式更改mysql模式:
mysql -u root -p
mysql > SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY'
我正在用我的查询获取大约500万行(包含10-15列)的庞大结果集。没有ID列,甚至不能创建一个列(不是我的错),所以我甚至不能根据ID对数据进行分区,然后将其加载到各个部分。更糟糕的是,这是SQL server 2000,因此大多数方便的SQL编码功能甚至可能无法用于此DB。我有什么办法能做点什么-
Select top 10000 column_list from myTable
then, select next top 10000 column_list from myTable (ie 10001 to 20000)
and so on...
我正在尝试选择表top_teams_team中的所有列,并获取hash_value列的值计数。这里的sql语句部分起作用,因为它返回两个列,hash_value和total。我仍然希望它能给我表中所有的列。
select hash_value, count(hash_value) as total
from top_teams_team
group by hash_value
在下面的sql语句中,它给出了所有的列,但是显示的是重复的hash_value,这不是我想要的。我试着把distinct关键字放进去,但是它没有正常工作,或者我没有把它放在正确的位置。
select *
from top